防止在DataGridView中选择单元格

时间:2011-11-18 21:42:00

标签: c# winforms datagridview

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

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

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

有没有办法阻止DataGridView“选择”一个单元格,这样我就能以更有效的方式单独处理这个操作?

1 个答案:

答案 0 :(得分:2)

这里的问题有点困惑。

如果您不希望他们根本无法选择多个单元格,请设置

dataGridView.MultiSelect = false

你说他们按住ctrl +点击25k单元格 - 你建议他们一次选择25k单元格(这就是ctrl + click的工作方式)?如果您的意思是他们按住Shift键单击以选择范围,则只需处理SelectionChanged事件,并执行您对dataGridView.SelectedRows所需的任何操作。对于整个选择,SelectionChanged只会被调用一次。