的Datagridview复选框列有一个死区

我有一个带复选框列以及其他基于文本的列的datagridview(winforms).我已经成功解决了复选框列中的大多数常见问题,这些问题在本网站上都有很好的记录.

但是,我还有1个问题.我能够在复选框上单击“直接”,并且它确实以我想要的方式响应.但是,如果我小心地在单元格边界和复选框控件之间移动鼠标指针,然后单击鼠标,则可以选择该单元格,但复选框的状态不会切换.当给定行的行高更大时,此问题就更加明显.

谢谢你的帮助

注意:这不是,我不再重复,当焦点在选中后移出给定的复选框单元格时会发生此问题.我已经解决了.

解决方法:

这不是问题.这就是它应该如何工作.对于网格列,您可以具有cellclick事件和cellcontentclick事件.因为我希望复选框在单击单元格内的任何位置时进行检查,所以我应该使用cellclick.在您需要听的其他事件中,我在代码中添加了以下内容:

    private void Grid_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if ((e.ColumnIndex == 1) && e.RowIndex != -1)
        {
            this.MyGrid[1, e.RowIndex].Value = !(bool)this.MyGrid[1, e.RowIndex].Value;
            this.MyGrid.EndEdit();
        }
    }
上一篇:绑定DataGridView到一个IBindingList可能包含零个元素


下一篇:DataGridView只显示数据源中绑定的字段