日期:2014-05-18  浏览次数:21052 次

[ C# - WinForms ] GDI+ 窗体覆盖时会抹去已绘制的内容?
我要做的是一个类似于画图板的程序
一个画板(Panel)
我用GDI+在上面画画,
发现如果一个窗口覆盖在画板上,
当该窗体消失后,会在画板上留下一个和窗体形状一样的块.
就像是那区域的东西被擦掉了
……

这是个C#程序, 我想尽量不要调用WINDOWS API为妙.
有什么好的解决方案么?
或者说有没有什么方法可以在画板上方出现东西之前保存在那块区域所画的东西?

------解决方案--------------------
那是事情触发了,所以重画啦
你定义肯定是临时画布

------解决方案--------------------
你需要定义数据层来保存你画的东西,比如画的线段,曲线,图片,都要用不同的对象保存在内存中

paint方法只管执行。
------解决方案--------------------
把你要绘制的图片绘制为一个bitmap 然后把 panel的背景设置为你的bitmap 试试