DataGridView CellBeginEdit只触发一次

时间:2017-12-21 15:04:43

标签: c# winforms datagridview

我的项目是一个Windows窗体项目,我有一个DataGridView。 DataGridView有一个可编辑的CheckBoxColumn列。 我正在使用CellBeginEdit事件来决定是选中还是取消选中CheckBox。 我点击第一次没有问题,但是当我点击第二次,第三次或不止一次时,CellBeginEdit事件没有被触发。

1 个答案:

答案 0 :(得分:0)

根据您所说的评论,您在第一次点击后 导航到另一个单元格。

  

但是在第一次点击后,如果我关注另一个可编辑的单元格并再次单击组合框单元格,则事件正在触发

这是设计的。 ComboBoxCell在焦点上进入编辑模式。虽然单元格保持焦点,但CellBeginEdit不会触发。您可以通过调用EndEdit()来绕过此行为,如下所示:

private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if (this.dataGridView1.CurrentCell is DataGridViewCheckBoxCell)
    {
        this.dataGridView1.EndEdit();
    }
}