我先更换winform的背景图片,然后 Graphics g = this.CreateGraphics();
Pen mypen = new Pen(Color.red);
g.DrawEllipse(mypen, 0, 0, 329, 229);这样背景图片和绘的椭圆都能看到;
问题:
如何清除这个椭圆然后在画一个,例如
g.Clear();
Pen mypen2 = new Pen(Color.Black);
g.DrawEllipse(mypen2, 0, 0, 329, 229);
但C#中Clear(),必须要有参数Color,但那样就会覆盖背景图片,求解决方法
补充:由于某些原因,不能使用Refresh()这方法
Pen mypen = new Pen(Color.red);
g.DrawEllipse(mypen, 0, 0, 329, 229);这样背景图片和绘的椭圆都能看到;
问题:
如何清除这个椭圆然后在画一个,例如
g.Clear();
Pen mypen2 = new Pen(Color.Black);
g.DrawEllipse(mypen2, 0, 0, 329, 229);
但C#中Clear(),必须要有参数Color,但那样就会覆盖背景图片,求解决方法
补充:由于某些原因,不能使用Refresh()这方法
解决方案 »
- C# ActiveMQ
- 窗体中只能拖进一个ocx控件,为何?ocx控件是全局的吗?
- 如何把窗体A中DataTable的值传到窗体B中的DataTable?
- C# windows 服务问题!
- C#中如何调用浏览器读出DataGrid中的数据,谢谢
- 紧急求助,C#连oracle出错。
- 如何输出ANSI编码的有中文的文件
- C# 读取HTML的时候出错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
- MSBuild使用/m参数编译WPF项目出现GeneratedInternalTypeHelper.g.cs不存在问题
- 不闪的才是健康的:) ->C#的开发的隐痛
- [100分]求SqlBulkCopy批量入库列名不一致的解决方法
- wcf 服务端 使用C++写的dll问题
然后用g画图。注意,你一定要记得g.Dispose()!!!
甚至你可以控制 0, 0, 329, 229 的位置,形状
你还可以画矩形,不规则图形。
你多弄几个全局变量,在别的代码中控制全局变量,在OnPaint中只管读取变量画图就行。Color PenColor = Color.Red;
protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen mypen = new Pen(PenColor);
g.DrawEllipse(mypen, 0, 0, 329, 229);
base.OnPaint(e);
} private void button1_Click(object sender, EventArgs e)
{
this.BackgroundImage = Image.FromFile(@"C:\Documents and Settings\Administrator\My Documents\My Pictures\电脑\17d8749e-c3ee-4cdb-9713-982fbad7fded.jpg"); PenColor = Color.Black; return;
}