我想突出显示鼠标所在的行和列。基本上这意味着改变所有适当单元的背景颜色。目前我正在尝试在MouseMove事件中执行此操作。但是,这导致性能下降。当鼠标移动时,有效地突出显示DataGridView上的列和行
我被建议使用WPF获得更好的性能,但是我不想走这条路。有什么方法可以提高C#中的性能?
我想突出显示鼠标所在的行和列。基本上这意味着改变所有适当单元的背景颜色。目前我正在尝试在MouseMove事件中执行此操作。但是,这导致性能下降。当鼠标移动时,有效地突出显示DataGridView上的列和行
我被建议使用WPF获得更好的性能,但是我不想走这条路。有什么方法可以提高C#中的性能?
尝试CellMouseEnter
事件;它只会在每次鼠标移过一个新单元时触发一次,与MouseMove
不同,它不需要点击单元格来触发事件。您可能应该处理CellMouseEnter
(用于突出显示新单元格),CellMouseLeave
(用于未加亮显示旧单元格)以及可能整个DGV(确保所有单元格不亮)的Leave
事件。
您可以使用DataGridView.RowEnter Event,仅当新行变为活动状态时才会发生。 msdn链接显示完全相同的样本,你正试图完成。
但这只适用于在新行上点击鼠标的情况。我需要跟踪鼠标移动。 – sbenderli 2010-09-13 18:23:57