手动移动到DataGridView中的下一个单元格?

时间:2015-03-27 09:34:25

标签: c# visual-studio visual-studio-2012

我有一个DataGridView,我有2个可编辑的单元格。第一个单元格使用自定义控件,第二个单元格是标准文本框。

自定义控件有ItemChanged事件,当用户在控件中输入值时会引发此事件。

如何订阅此活动以及如何移至下一个可编辑的单元格?

2 个答案:

答案 0 :(得分:0)

根据this answer

private void customControl_ItemChanged(object sender, KeyEventArgs e)
    {
            int iColumn = dataGridView1.CurrentCell.ColumnIndex;
            int iRow = dataGridView1.CurrentCell.RowIndex;
            if (iColumn == dataGridView1.Columns.Count-1)
                dataGridView1.CurrentCell = dataGridView1[0, iRow + 1];
            else
                dataGridView1.CurrentCell = dataGridView1[iColumn + 1, iRow];
    }

如果您无法通过设计器链接事件,您还需要在FormName.Designer.cs中的InitializeComponent()方法中添加一行,如下所示:

this.customControl.ItemChanged += new System.EventHandler(this.customControl_ItemChanged);

答案 1 :(得分:0)

您可以使用DataGridView访问EditingControlShowing的{​​{1}}活动中的自定义控件。这是一个带有e.Control

的例子
DataGridViewTextBoxCell