我的项目是一个Windows窗体项目,我有一个DataGridView。 DataGridView有一个可编辑的CheckBoxColumn列。 我正在使用CellBeginEdit事件来决定是选中还是取消选中CheckBox。 我点击第一次没有问题,但是当我点击第二次,第三次或不止一次时,CellBeginEdit事件没有被触发。
答案 0 :(得分:0)
根据您所说的评论,您在第一次点击后 导航到另一个单元格。
但是在第一次点击后,如果我关注另一个可编辑的单元格并再次单击组合框单元格,则事件正在触发
这是设计的。 ComboBoxCell
在焦点上进入编辑模式。虽然单元格保持焦点,但CellBeginEdit
不会触发。您可以通过调用EndEdit()
来绕过此行为,如下所示:
private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (this.dataGridView1.CurrentCell is DataGridViewCheckBoxCell)
{
this.dataGridView1.EndEdit();
}
}