EditingControlShowing说明
显示用于编辑单元格的控件时发生。
详细说明
DataGridView的键事件(KeyDown、KeyUp、KeyPress、PreviewKeyDown),在单元格编辑中是不会发生的。是因为单元格进行编辑时是使用了TextBox。所以,捕捉编辑中单元格的键事件,需要捕捉被编辑单元格的TextBox的键事件。
捕捉被编辑单元格的TextBox的键事件的方法,和这里介绍的方法一样,使用EditingControlShowing事件处理器取得编辑所使用的TextBox,再用AddHandler事件处理器追加。
private void conditionDataGrid_EditingControlShowing(
object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is ComboBox)
{
if (conditionDataGrid.CurrentCell.ColumnIndex == 2)
{
ComboBox comboBox = (ComboBox)e.Control;
//每次注册事件的时候先移除事件,避免不断被递归调用
comboBox.SelectionChangeCommitted -= OperationCell_Change;
comboBox.SelectionChangeCommitted += OperationCell_Change;
}
}
}
上面代码是在DataGridView中显示一个下拉列表。下拉列表属于DataGridView子控件。
1312

被折叠的 条评论
为什么被折叠?



