我在WinForms表单中添加了一个图片框,并添加了一个绘图事件。当我调试它时,我看到paint事件被调用了两次。
我该如何解决?
答案 0 :(得分:4)
图片框控件是围绕Windows绘制周期和WM_PAINT
事件的相对宽松的包装。
WM_PAINT
事件是一个排队的消息,只要系统认为窗口的绘图表面无效,系统就会将其置于应用程序消息队列中。出现这种情况的原因有很多:
Invalidate
函数的InvalidateRect
使窗口无效。所以,这个问题的结论是你的图片框绘制处理程序需要在假设它被多次调用的情况下编写。
答案 1 :(得分:2)
每次重绘时都会触发paint事件。 paint事件处理程序中的代码应该能够处理它被称为n次。