读书人

GDI+ 画的线如何才不被覆盖掉

发布时间: 2012-01-16 23:36:51 作者: rapoo

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事件处理程序中,用双缓冲贴图。

读书人网 >C#

热点推荐