DataGridView CellBeginEdit只触发一次

问题描述 投票:0回答:1

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

c# winforms datagridview
1个回答
0
投票

根据您发表的评论,您在第一次点击后没有导航到另一个单元格。

但是在第一次单击后,如果我将另一个可编辑单元格聚焦并再次单击组合框单元格,则事件将被触发

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

private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if (this.dataGridView1.CurrentCell is DataGridViewCheckBoxCell)
    {
        this.dataGridView1.EndEdit();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.