c# - 有没有办法在用户单击另一行中的单元格时保持选中 DataGridView 行?

标签 c# .net winforms datagridview

DataGridView控件允许您点击行标题并选择行(整行高亮显示),或者使用鼠标点击并拖动选择多行等来全选

无论如何,如果用户决定单击 DataGridView 中某处的单元格,我需要这些行保持选中状态。因此,如果用户单击所选行之一中的单元格,则所选行应保持突出显示。如果用户单击不同的、未选中 行中的单元格,则所有当前选中的单元格都应保持突出显示。事实上,我不希望行选择发生变化根本,除非他们使用行标题。

这是易于配置的东西,还是我需要几天的黑客攻击?

最佳答案

不容易配置。花几天时间使用 DataGridView 控件,您会发现它没有什么很容易配置,除非开发人员碰巧决定将它公开为属性。而且只有最简单的东西会以这种方式公开,所以不要浪费太多时间寻找。

当然,这可能的。我花了太多时间将 DataGridView 控件子类化,并覆盖了让我觉得很愚蠢的内置行为。但我真的不推荐给任何人。

更重要的是,您还应该认真地重新考虑您是否想要进行此特定更改。如果软件开始这样做,我将不知道会发生什么。我会立即怀疑我的 shift 键或鼠标按钮被卡住了,并尝试将它们敲开。下一步是重新启动我的电脑。总的来说,这不是一个非常积极的用户体验。这不是控件出于某种原因的行为方式。请务必仔细考虑要突出显示的单元格的语义实际含义 - 通常,这意味着您可以更改值或一次删除所有选定的单元格。如果那不是您的实现方式将如何运作,您可能一开始就不应该这样做。

关于c# - 有没有办法在用户单击另一行中的单元格时保持选中 DataGridView 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4929384/

相关文章:

c# - 如何跳出循环

c# - 最小起订量和 Entity Framework

c# - 通过引用传递和使用 ref

c# - 从另一个方法调用 EventHandler

winforms - 在 Winforms 中订阅 PropertyChangedEventHandler

c# - Datagridview 列自动调整大小

c# - 将文件上传到 Hbase HDInsight

c# - 如何从此 json 对象获取值?

.net - .NET Framework 4.5 是否适用于 Windows Server 2003?

c# - Windows窗体应用程序中的记录错误