我们有一个Windows2.0软件,通常在Windows下运行(配置为.NET“经典”模式,没有花哨的东西)。现在我在Windows7上运行它。我在Windows7上注意到的是,当面板失效时,布局中充满标签和布局的某个面板会生成各种OnPaint事件。不仅如此,后续的OnPaint调用似乎还会中断当前正在执行的调用。从窗口的消息队列中提取一条消息,处理到完成,然后再提取下一条消息的方案发生了什么变化?
我有时会使用OnPaint方法来配置布局,也许这就是生成其他OnPaint事件的原因,但我至少可以在下一次调用之前运行当前的OnPaint方法完成吗?我不得不在我的代码中使用各种检查,以防止这种重新进入的发生。
这对于在经典模式下运行的Windows XP来说不是问题,尽管在Windows XP的全盛时期可能会有问题。
发布于 2013-01-10 22:34:48
我有时会使用OnPaint方法来配置布局,
当你“配置”(改变)一个布局时,你会使控件失效。Paint事件/方法不适合更改任何内容。它应该只绘制。
但是我至少可以在下一次调用之前运行当前的OnPaint方法来完成吗?
当画图没有导致无效(它不应该)时,这是自动的。当它发生的时候,你就有了一个应该修复的bug。
https://stackoverflow.com/questions/14260151
复制相似问题