在dataGridView1某列中绑定控件

  private ComboBox cmbox = new ComboBox();//自定义控件

  private void Form_Load(object sender, EventArgs e)
        {

            cmbox.Visible = false;
            cmbox.TextChanged += new EventHandler(cmbox_TextChanged);//增加事件              

            dataGridView1.Controls.Add(cmbox);//关键,绑定ataGridView1和cmbox

        }

    private void cmbox_TextChanged(object sender, EventArgs e)
        {
            dataGridView1.CurrentCell.Value = cmbox.Text;//给单元格赋值
        }

       private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)//cmbox显示格式设置
        {

             Rectangle Rect = this.dataGridView1.GetCellDisplayRectangle(this.dataGridView1.CurrentCell.ColumnIndex, this.dataGridView1.CurrentCell.RowIndex, false);
                cmbox.Visible = true;
                cmbox.Top = Rect.Top;
                cmbox.Left = Rect.Left;
                cmbox.Height = Rect.Height;
                cmbox.Width = Rect.Width;

        }

        private void dataGridView1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)//使界面看上去好看   cmbox控件不显示
        {
            cmbox.Visible = false;

        }

        private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
        {
            cmbox.Visible = false;

        }

        private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
        {
            cmbox.Visible = false;

        }

 

 

posted on 2012-07-17 17:10  濯舞拾弋  阅读(452)  评论(0)    收藏  举报