我的项目是一个Windows项目,我有一个DataGridView。DataGridView有一列是可编辑的CheckBoxColumn。我使用CellBeginEdit事件来做出决定-- CheckBox被选中还是未被选中。当我第一次单击时没有问题,但是当我单击第二次、第三次或多次时,CellBeginEdit事件没有触发。
发布于 2017-12-22 08:24:36
从注释中可以看出,在第一次单击之后,您不会导航到另一个单元格。
但是,在第一次单击之后,如果我聚焦另一个可编辑的单元格并再次单击组合框单元格,则事件正在触发。
这是故意的。ComboBoxCell
进入编辑模式的焦点。当单元格保持焦点时,CellBeginEdit
不会触发。您可以通过调用EndEdit()
来绕过此行为,如下所示:
private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (this.dataGridView1.CurrentCell is DataGridViewCheckBoxCell)
{
this.dataGridView1.EndEdit();
}
}
https://stackoverflow.com/questions/47927675
复制相似问题