我有一个DataGridView,我有2个可编辑的单元格。第一个单元格使用自定义控件,第二个单元格是标准文本框。
自定义控件有ItemChanged
事件,当用户在控件中输入值时会引发此事件。
如何订阅此活动以及如何移至下一个可编辑的单元格?
答案 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