我有两个按钮,一个按钮需要画图 另外一个需要打开一个对话框。当我打开对话框的时候第一个按钮所画的图形就不见了 。望给出解决办法。注:
这个图是动态生成的。如果放在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(); }
这个图是动态生成的。如果放在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(); }
建立的图像,并不会自动的响应Paint的系统消息,它只会画一次,你最好写到Paint事件里,或重写写OnPaint事件,如果需要立刻刷新图像,可可以调用Control.Invalidate()方法或其适合的任何一个重载函数.
http://blog.csdn.net/hbxtlhx/archive/2007/06/13/1650892.aspx