如何重绘Graphics画的东西? 你可以把它畫在一個Bitmap中,用PictureBox顯示,或者重載OnPaint函數 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://expert.csdn.net/Expert/topic/2863/2863619.xml?temp=.6308405 你应该在OnPaint中绘制,这样刷新就可以了。 所有的绘制动作都在OnPaint中,岂不是太受限制了?比如说我点一个按钮,触发一个绘制动作,这个动作怎么在OnPaint中体现呢? 控件写OnPaint事件,在需要重绘时调用控件的方法Invalidate. 也就是说你解发Invalidate ,即会发生Onpaint事件。 //可以在任何事件里面写。//picDraw 是您的画布,它是图片框,也可以是其它的。//建立一个Bitmap对像 大小就是那个画布Bitmap bitmap = new Bitmap(picDraw.Width,picDraw.Height);//建立一个Graphics对像Graphics g = Graphics.FromImage(bitmap);g.DrawLine(System.Drawing.Pens.Red,0,0,100,0);g.Save();g = null;picDraw.Image = bitmap;bitmap = null; 使用Invalidate(),提醒控件重新绘制(调用OnPaint中的方法),典型是在Protected override OnResize()中加入Invalidate(),在控件调整大小时,重新绘制控件 不管是窗体,还是控件,绘制动作都是在OnPaint事件中进行,比如WM_PAINT消息,点一个按钮,触发一个绘制动作,可以这样理解,比如加一个矩形,是用Collection变量_rects中加入Rectangle对象,在OnPaint事件中,foreach(Rectangle r in _rects) g.DrawRectangle(... 多谢大家!如何重写一个控件,比如说一个按钮的onpaint事件呢? 简单工厂模式和策略模式有什么实质性的区别? wmingcsharp: 请进来回复接分,我结帖时忘了给你分了 CS0103: 当前上下文中不存在名称“Label1” 如何动态实现Treeview的功能?或者与此相同的功能 求:将.aspx生成.cs的工具和方法 把页面导出为word时的换行 请问一个关于在注释上出现的问题!谢谢解答! c#怎样调用Excel中的图表? c#写的程序,要想在客户机器上运行,需要什么环境阿 大神,求教!! 一个小问题,求一个图像方法 在两个同心圆之间的空间填充颜色的问题
//picDraw 是您的画布,它是图片框,也可以是其它的。
//建立一个Bitmap对像 大小就是那个画布
Bitmap bitmap = new Bitmap(picDraw.Width,picDraw.Height);
//建立一个Graphics对像
Graphics g = Graphics.FromImage(bitmap);g.DrawLine(System.Drawing.Pens.Red,0,0,100,0);
g.Save();
g = null;
picDraw.Image = bitmap;
bitmap = null;
在OnPaint事件中,foreach(Rectangle r in _rects) g.DrawRectangle(...
如何重写一个控件,比如说一个按钮的onpaint事件呢?