GDI+ 画的线,怎么才不被覆盖掉?
不常用GDI+,现在的问题是:
我在panel里使用
Graphics myGraphics;
myGraphics = this.CreateGraphics();
Pen myPen = new Pen(Color.Blue, 2);
Rectangle myRectangle = new Rectangle(0, 0, 20, 20);
myGraphics .DrawRectangle(myPen, myRectangle);
动态的画个矩形,
但是每当我切换窗体,画好的图形都被擦掉了,(像橡皮擦擦的似的),而且任何其他窗口程序例如我开的一个winamp播放器在这个画好的winform上滑过,也能把线擦掉,请问如何才能保留我画的线呢?
直到我想
myGraphics .Clear(Color.White);
为止
------解决方案--------------------需要重画吧
放在Paint事件代码里面
------解决方案--------------------在OnPaint中,还可以画在内存中的bmp里,然后存在Image中
------解决方案--------------------必须重画 在OnPaint事件里 楼主看一下Windows基本原理吧
------解决方案--------------------是的,override OnPaint事件
------解决方案--------------------override 绘图区域的onPaint 事件
把绘图代码放在新的onPaint事件处理程序中,用双缓冲贴图。