现在的位置: 首页 > 综合 > 正文

C#中自绘图形的重绘

2013年11月10日 ⁄ 综合 ⁄ 共 783字 ⁄ 字号 评论关闭
我用C#编写了一个windows窗体应用程序,设计了一个功能是通过点击一个按钮来调用绘图函数生成曲线图形,但是当移动窗体,或者改变窗体大小,切换到其他窗口再回到我做的程序窗口时曲线图形就会消失,请问各位高手,如何才能进行图形的重绘,如果是用onpaint(),因为我是需要通过点击一个按钮来生成图形,而且生成图形的方法需要传入许多参数,这些该如何处理, 
非常感谢.
简单的可以在窗体的Activated事件中,重新调用绘图函数。 

如果参数很多,太麻烦的话,可以这样。 
绘图的时候,把图形绘制到picture中,把picture放在窗体上,这样图形始终在内存中保留。无论如何切换窗口,图形都不会消失。 
具体绘图方法: 
引用如下命名空间: 
using System.Drawing; 
using System.Drawing.Imaging; 
申明变量: 
private Image theImage;//要绘图的图片对象 
private Graphics ig; //在图片上绘图的Graphics对象 
private System.Windows.Forms.PictureBox MyPicBox;//窗体上的picturebox控件 
theImage=new Bitmap(600,800);//宽,高 
ig=Graphics.FromImage(theImage); 
ig.Clear(Color.White); //底色为白色 
MyPicBox.Image=theImage;//将绘制的image放在picturebox中 
Pen drawPen = new Pen ( Color . Blue , 2 ) ; //画笔工具 
ig.DrawRectangle(drawPen,20,20,40,40);//绘制一个矩形区域

查看用户评论(2)>>
提问者对于答案的评价:
谢谢,已经用生成图形文件的方法完成了.

抱歉!评论已关闭.