如何检测DataGridView CheckBox事件更改?
我有一个winforms应用,当控件中嵌入的复选框DataGridView
被选中/未选中时,想要触发一些代码。我尝试过的每件事
CheckBox
单击时立即触发,但在其检查状态更改之前触发,或- 仅在
CheckBox
失去焦点时触发
我似乎找不到在检查状态更改后立即触发的事件。
我想要实现的是,当一个CheckBox
中的a的检查状态DataGridView
发生变化时,另外两个中的数据DataGridView
发生变化。然而,我使用的所有事件以及其他网格中的数据仅CheckBox
在第一个DataGridView
失去焦点之后才发生变化。
回答:
要处理DatGridView
s
CheckedChanged
事件,您必须首先CellContentClick
触发(没有CheckBox
es当前状态!),然后调用CommitEdit
。这将依次触发CellValueChanged
您可以用来完成工作的事件。
。做类似以下的事情…
private void dataGridViewSites_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataGridViewSites.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
/// <summary>
/// Works with the above.
/// </summary>
private void dataGridViewSites_CellValueChanged(object sender,
DataGridViewCellEventArgs e)
{
UpdateDataGridViewSite();
}
我希望这有帮助。
PS检查本文https://msdn.microsoft.com/zh-
cn/library/system.windows.forms.datagridview.currentcelldirtystatechanged(v=vs.110).aspx
以上是 如何检测DataGridView CheckBox事件更改? 的全部内容, 来源链接: utcz.com/qa/428718.html