有人可以解释传递为Graphics
的{{1}}对象与通过pevent.Graphics
调用返回的对象之间的差异吗?
答案 0 :(得分:5)
每当引发Paint
事件时,您都会获得一个Graphics
对象来绘制。这将作为pevent.Graphics
传递。绘制到这个Graphics
对象是你如何绘制元素。
CreateGraphics
。它从窗口句柄即时创建一个新的Graphics
对象。您可以绘制它返回的Graphics
对象,但是下次引发Paint
事件时,您绘制的任何内容都将被删除。
您唯一可能想要使用CreateGraphics
的是特殊效果,例如在拖动过程中显示实时反馈。您想要在下次重新绘制元素时将其删除,因此您继续使用CreateGraphics
来获取临时画布以在拖动事件进行时绘制。< / p>
您将永远在CreateGraphics
事件处理程序方法中使用Paint
。没有意义 - 你已经获得了一个Graphics
对象!