在选择新单元格之前,DataGridView单元格不会引发CellEndEdit

时间:2011-06-28 05:56:30

标签: c# winforms datagridview

我正在创建一个显示一列bool值的DataGridView。我正在使用Visual Studio中的可视化设计器来创建winforms,并添加了一个将“ColumnType”设置为“DataGridViewCheckBoxColumn”的列,以便显示复选框而不是文本字段。

我也做了以下事情:

ElementDataGrid.CellEndEdit += new DataGridViewCellEventHandler(OnCellValueChanged);

我看到的问题是,如果我在运行时通过单击它来检查复选框,则不会引发OnCellValueChanged(我的程序没有响应验证,以及没有命中断点)。然后,只要用鼠标选择不同的单元格,就会引发事件。就好像CellEndEdit在取消选择单元格之前不会被提升。

我希望我的应用程序的其余部分在用户选中复选框后立即响应,而不必等待用户取消选择它。我可以使用不同的活动吗?我也尝试过: * CellValidating * CellValidated * CellValueChanged 但似乎所有工作都相同 - 它们要求用户选择不同的单元格。

1 个答案:

答案 0 :(得分:2)

尝试使用
   DataGridView.CurrentCellDirtyStateChanged事件,当单元格的状态相对于其内容的变化发生变化时发生。