C#:画圆如何取消! c#画圆 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Form中调用。this.Invalidate(); 清除全部用Graphics.Clearhttp://msdn.microsoft.com/en-us/library/system.drawing.graphics.clear(v=vs.110).aspx 应该是小弟没有说清楚~ 我用这段画了2个圆~ Dim g As Graphics = Me.PictureBox1.CreateGraphics() g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAliasg.DrawEllipse(New Pen(Color.Red),10,10, 10, 10)g.DrawEllipse(New Pen(Color.yellow),50,50, 10, 10)我要取消第一个圆~如何操作~求大神! 既然你想清除之前画的东西,那就不要直接把图形画到picturebox上;可以先定义几个位图,然后把图形画到上面,最后再把这几个位图画到picturebox上;如果把位图记录到一个集合中,那么就可以操作这个集合,然后重绘就可以清除某一个图形了;IList<Bitmap> list = new List<Bitmap>(); public GDIDraw() { InitializeComponent(); DrawPicture(); } public void DrawPicture() { Pen p = new Pen(Color.Red, 10); Bitmap bt1 = new Bitmap(100, 100); Graphics g1 = Graphics.FromImage(bt1); g1.DrawEllipse(p, 10, 10, 50, 50); Bitmap bt2 = new Bitmap(100, 100); Graphics g2 = Graphics.FromImage(bt2); g2.DrawEllipse(p, 10, 10, 50, 50); list.Add(bt1); list.Add(bt2); g1.Dispose(); g2.Dispose(); } private void pictureBox1_Paint(object sender, PaintEventArgs e) { //使用GDI+绘图 Graphics g = e.Graphics; //创建画板,这里的画板是由pictureBox提供的. int x = 0; foreach (Bitmap bt in list) { switch (x) { case 0: g.DrawImage(bt, 10, 10); break; case 1: g.DrawImage(bt, 100, 100); break; } x++; } } private void button1_Click(object sender, EventArgs e) { list.RemoveAt(0); pictureBox1.Invalidate(false); } g.DrawEllipse(New Pen(背景色),10,10, 10, 10) checkbox结合gridview使用问题,请帮忙,谢谢! AxWebBrowser做浏览器,如何获取打开页面中特定的link,并点击它. ConnectionString 属性尚未初始化 问题 關於DataGrid的問題 小弟现在想要一个表格控件,有什么使用方便简单,功能好的没有啊? 启动调试(F5)出现这个?!请指教啊 字符串转成ascII码后再转回来,不能还原中文字符,如何解决? 另两个极菜的问题 不使用管理员获取CPU等运行的状态 急!谁有c#实现的论坛网页源代码?(asp) 使用AForge获取视频,在传输时遇到问题 求助!关于c# winform的几个小问题
this.Invalidate();
我用这段画了2个圆~
Dim g As Graphics = Me.PictureBox1.CreateGraphics()
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAliasg.DrawEllipse(New Pen(Color.Red),10,10, 10, 10)g.DrawEllipse(New Pen(Color.yellow),50,50, 10, 10)我要取消第一个圆~如何操作~求大神!
可以先定义几个位图,然后把图形画到上面,最后再把这几个位图画到picturebox上;
如果把位图记录到一个集合中,那么就可以操作这个集合,然后重绘就可以清除某一个图形了;IList<Bitmap> list = new List<Bitmap>();
public GDIDraw()
{
InitializeComponent();
DrawPicture();
} public void DrawPicture()
{
Pen p = new Pen(Color.Red, 10); Bitmap bt1 = new Bitmap(100, 100);
Graphics g1 = Graphics.FromImage(bt1);
g1.DrawEllipse(p, 10, 10, 50, 50); Bitmap bt2 = new Bitmap(100, 100);
Graphics g2 = Graphics.FromImage(bt2);
g2.DrawEllipse(p, 10, 10, 50, 50);
list.Add(bt1);
list.Add(bt2);
g1.Dispose();
g2.Dispose();
} private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
//使用GDI+绘图
Graphics g = e.Graphics; //创建画板,这里的画板是由pictureBox提供的.
int x = 0;
foreach (Bitmap bt in list)
{
switch (x)
{
case 0:
g.DrawImage(bt, 10, 10);
break;
case 1:
g.DrawImage(bt, 100, 100);
break;
}
x++;
} } private void button1_Click(object sender, EventArgs e)
{
list.RemoveAt(0);
pictureBox1.Invalidate(false);
}
g.DrawEllipse(New Pen(背景色),10,10, 10, 10)