【问题标题】:Datagridview checkbox column has a dead areaDatagridview 复选框列有死区
【发布时间】:2013-09-10 04:00:00
【问题描述】:

我有一个 datagridview (winforms) 和一个 checkbox 列以及其他基于文本的列。我已经成功解决了与 checkbox 列有关的大多数常见问题,这些问题在本网站上有很好的记录。

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

感谢您的帮助

注意:这不是,我重复 NOT,当焦点在选中后从给定的复选框单元格移开时发生的问题。我已经解决了那个问题。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案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();
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多