如何优化.Net矩形绘图应用MouseMove检测?

时间:2013-12-25 16:59:54

标签: c# .net performance optimization mouse

我最近在C#中开发一个只能绘制矩形的超简单绘图程序。我希望程序在光标悬停在矩形上时突出显示一个矩形。但是它会很慢,因为每次处理MouseMove事件时,我都需要枚举用户绘制的所有矩形,并查看光标的点是否在任何矩形中。你能告诉我如何优化性能吗?

1 个答案:

答案 0 :(得分:2)

通过矩形列表枚举应该非常快,所以我在MouseMove中没有看到任何问题。另一方面,重新选择(鼠标悬停)矩形的重绘速度相对较慢,因此只有在矩形状态发生变化时(f'从'hovered'变为'normal')才能重新绘制。因此,只有在必要时才调用invalidate rect,并且没有任何问题。

祝你好运!