Graphics作图重绘
定义全局 public g = pictureBox1.CreateGraphics();//在pictureBox1上作图
然后可以在外部类
Form1.g.DrawLine(Form1.pen, point1, point2);//直线画图
但此方法无在 OnPaint 或p ictureBox1_Paint中重画,(最小化后最大化无图,遮挡后,图形残缺等问题)
如果将上面g换为
g = this.CreateGraphics();//在form1上作图
问题决,但我需要在pictureBox1上作图(因为有时候 我要调整pictureBox1在form1上的位置和大小)
有人说用控件的绘图用OnPaint或者Paint事件中的Graphics作图,但这我好像无法在别的类动态地作图了,因为外部函数用不了这个Graphics
1,请问如何其它函数时作图,然后在OnPaint 中能重画?
2,我的代码都写了那么多,有办法救吗?
然后可以在外部类
Form1.g.DrawLine(Form1.pen, point1, point2);//直线画图
但此方法无在 OnPaint 或p ictureBox1_Paint中重画,(最小化后最大化无图,遮挡后,图形残缺等问题)
如果将上面g换为
g = this.CreateGraphics();//在form1上作图
问题决,但我需要在pictureBox1上作图(因为有时候 我要调整pictureBox1在form1上的位置和大小)
有人说用控件的绘图用OnPaint或者Paint事件中的Graphics作图,但这我好像无法在别的类动态地作图了,因为外部函数用不了这个Graphics
1,请问如何其它函数时作图,然后在OnPaint 中能重画?
2,我的代码都写了那么多,有办法救吗?
...全文


