防止在DataGridView中选择单元格

本文关键字:选择 单元格 DataGridView | 更新日期: 2023-09-27 18:15:04

我正在使用winforms中的DataGridView,我正在处理CellPainting事件以自己绘制所有单元格。

我的网格是虚拟的,它所有的数据都存储在一个自定义的数据结构中,以MemoryStream为中心。

我所有的绘画都很顺利,直到用户Shift +点击一次选择大范围的单元格(25,000+),这些单元格必须添加到选定的单元格集合中,设置了一堆标志,以及其他消耗性能的操作。

是否有任何方法可以防止DataGridView"选择"一个单元格,以便我可以以更有效的方式单独处理此操作?

防止在DataGridView中选择单元格

我对这个问题有点困惑。

如果你不希望他们能够选择多个单元格,设置

dataGridView.MultiSelect = false

你说他们ctrl+click 25k单元格-你是建议他们一次选择25k单元格(这就是ctrl+click的工作方式)吗?如果您的意思是他们通过shift-click来选择一个范围,那么只需处理SelectionChanged事件,并对dataGridView.SelectedRows执行任何需要执行的操作。对于整个选区,SelectionChanged只会被调用一次。