读书人

怎么让画出的线不重绘

发布时间: 2012-01-10 21:26:50 作者: rapoo

如何让画出的线不重绘
我有两个按钮,一个按钮需要画图 另外一个需要打开一个对话框。当我打开对话框的时候第一个按钮所画的图形就不见了 。望给出解决办法。注:
这个图是动态生成的。如果放在paint里,就不能实现所需的效果
需要画图的按钮,其中部分代码如下:
if (splitResult[0] == "ob ") //判断是否是障碍物的相关设置信息
{
Graphics grfx = this.CreateGraphics();
grfx.DrawLine(new Pen(Color.Red, 3), Convert.ToUInt16(splitResult[1]), Convert.ToUInt16(splitResult[2]), Convert.ToUInt16(splitResult[3]), Convert.ToUInt16(splitResult[4]));
grfx.Dispose();

}


[解决办法]
SetStyle(...........)就行了
[解决办法]
创建继承自Button的新类比较好
[解决办法]
代码放到paint里没有什么不可以!

当需要立刻绘制的时候调用this.Invalidate()方法就可以了.
[解决办法]
你使用this.CreateGraphics();
建立的图像,并不会自动的响应Paint的系统消息,它只会画一次,你最好写到Paint事件里,或重写写OnPaint事件,如果需要立刻刷新图像,可可以调用Control.Invalidate()方法或其适合的任何一个重载函数.
[解决办法]
什么叫 "重新设置 "?

有这么复杂吗?
[解决办法]
建建一存bitmap,到bitmap上,然后把bitmap到窗

读书人网 >C#

热点推荐