gpt4 book ai didi

c# - DataGridView 在左键单击时保持选中多行

转载 作者:太空宇宙 更新时间:2023-11-03 11:41:28 26 4
gpt4 key购买 nike

在我的 DataGridView 上,我将 SelectionMode 设置为 FullRowSelect。当我在我的 DataGridView 中选择多行并左键单击一个单元格时,所有其他行都被取消选择,只有我左键单击的行被选中。右键单击不会发生这种情况。

如何设置我的 DataGridView 以便我可以选择多行,左键单击一个单元格,所有相同的行都保持选中状态?

最佳答案

这可能很难,因为它违反了 Windows 的标准 UI 行为。您可能需要让您的 UI 跟踪在 DGV 中选择了哪些行,并在左键单击更改后“恢复”先前的选择。但是,这会给您带来更多问题。即:

  • 如何/何时重置选择?
  • 如果不允许单击鼠标左键更改选择,那么首先如何选择行?
  • 等等。

更全面的替代方案是捕获 DGV 上的所有 MouseDown/Click 事件并实现您自己的选择行为,但我不确定到什么程度使用 WinForms 甚至可以做到这一点。

我的拙见是重新考虑这个 UI 设计。它会符合用户的期望吗? :)

更新:我刚刚想到的一个备选方案:如果出于某种原因这种行为是绝对必要的,那么最好的办法是创建一个自定义控件,添加一种“选择锁定”状态到 DataGridView。然后,用户可以明确请求覆盖 ​​Windows 的默认行为(例如,通过选择行然后单击“锁定”按钮)。然而,构建这样的东西并非易事。

关于c# - DataGridView 在左键单击时保持选中多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4661376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com