Datagridview控制键+鼠标单击取消选择所选行

本文关键字:选择 取消 单击 控制 鼠标 Datagridview | 更新日期: 2023-09-27 18:22:03

我在.net winform应用程序中工作,在该应用程序中,数据网格视图是强制性的(单行选择,只读)。当我按住Ctrl并单击时,我的网格数据网格视图行将被取消选择,当我试图避免这种情况时,我使用cellmouseclick事件来验证它是否正常工作,但这种情况除外,即如果我按住鼠标单击并将其释放到数据网格之外,则上述情况不起作用。请建议

Datagridview控制键+鼠标单击取消选择所选行

我似乎是唯一遇到这个问题的人!在我的例子中,我清除了CellMouseDown处理程序中的当前选择,并选择了刚刚单击的行。我这样做是为了允许右键单击来选择一行。只要没有按下控制按钮,它就可以正常工作。我通过检查控制密钥来保护代码,这起到了作用:

if ((Control.ModifierKeys & Keys.Control) == 0)
{
    myDataGrid.ClearSelection();
    // ... additional code....
}

我们应用程序中的其他网格都没有这个问题,所以也许这也是您的情况?