Datagridview Control键+鼠标点击取消选中行

Posted

技术标签:

【中文标题】Datagridview Control键+鼠标点击取消选中行【英文标题】:Datagridview Control key + mouse click deselect the selected row 【发布时间】:2014-09-16 05:43:56 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

if ((Control.ModifierKeys & Keys.Control) == 0)

    myDataGrid.ClearSelection();
    // ... additional code....

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

【讨论】:

以上是关于Datagridview Control键+鼠标点击取消选中行的主要内容,如果未能解决你的问题,请参考以下文章

Winform DataGridView鼠标右键选择列

DataGridView多行选择清除鼠标左键拖放

C# winform datagridview中如何实现鼠标右键点击一行数据出现一个带有删除的菜单,并能执行删除操作?

苹果mac上右键点击的作用?

C#winform中的 dataGridView 鼠标点行首时选中整行,点击单元格时 选中单元格,如图:

winform如何从DataGridView中从右键菜单获取一行数据