关于 form绘图 保存问题 做了一个小练习:form 中有一个panel1 作为画板 当鼠标click画板时就在该位置 draw一个小圆型 ,我的问题是:每当我最小化话窗体在还原时之前画的那些小圆形就都没了,上网查了下有的说要重写onpaint()什么的,具体代码怎么实现呢怎么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = panel1.CreateGraphics(); //画矩形 g.DrawRectangle(new Pen(Color.Red,2),new Rectangle(0,0,20,20)); } 楼上的 这个没什么意义啊 你的意思是让我每次点击时都画完再把坐标记录下来么?然后在在这个重写方法里一次性把所有坐标取出来再画一次?不需要这么麻烦吧。再说这个只能解决最小化的问题。比如说我界面上还有一个toolstriptmenu控件我在点击它时出的下拉菜单会挡住 我画的小圈这种情况重写onpaint没用的。 你应该画在一个image对象上,而不是直接画在panel上,这样不管你怎么放大缩小都不会消失了。 在panel1加一个Paint事件,将画圆的代码放进去就可以了 就是要保存下来在Paint里重绘,这是最标准的方法 上面方法并不能解决:、比如说我界面上还有一个toolstriptmenu控件我在点击它时出的下拉菜单会挡住 我画的小圈这种情况重写onpaint没用的。下拉框挡住的 图会消失 C# const赋值 C#调用API 请问一个查阅MSDN的方法 异常处理的一个疑惑 C# Winform邮件发送的问题 那儿错了-----c#连接Sybase11.5 开发新闻系统的时候,FreeTextBox中上传图片太多的话,不但难找到图片而且打开页面慢? 谁来给我讲讲datalist分页的原理? 串口发送数给单片机,关二数据转换的问题 为什么引用WORD后,系统提示:命名空间名称“Interop”在类或命名空间“Microsoft.Office”中不存在 谁能解释下面这段代码? Gridview分页后导出excel,只能导入一页
{
base.OnPaint(e);
Graphics g = panel1.CreateGraphics();
//画矩形
g.DrawRectangle(new Pen(Color.Red,2),new Rectangle(0,0,20,20));
}