4

每次我更改 winform 上控件的启用禁用属性时,它都会重新绘制整个表单。我想通过仅在更新所有控件后重新绘制来避免多余的重新绘制。这可能吗?

4

2 回答 2

2

Winforms 仅重新绘制外观已更改的控件的无效区域。如果您的“整个表格”被重新粉刷,那么您做错了什么。您是否在 Paint 事件处理程序之外绘制任何内容?您是否使 Paint 事件处理程序中的某些内容无效?不要那样做。

请发布导致此问题的代码。

于 2009-07-13T23:20:53.427 回答
0

这是一个快速的技巧,但我认为您可以将表单的 Visible 属性设置为 False,启用/禁用所有控件,然后将表单的 Visible 设置回 True。

JP 参考的文章涵盖了许多更好的方法。

更新:实际上,您使用的是什么语言/平台?我刚刚在 C# 中创建了一个快速测试应用程序,设置启用/禁用属性不会导致重新绘制整个表单。

于 2009-07-13T23:07:18.960 回答