解决方案 »

  1.   

    Form中调用。
    this.Invalidate();
      

  2.   

    清除全部用Graphics.Clearhttp://msdn.microsoft.com/en-us/library/system.drawing.graphics.clear(v=vs.110).aspx
      

  3.   

    应该是小弟没有说清楚~ 
    我用这段画了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)我要取消第一个圆~如何操作~求大神!
      

  4.   

    既然你想清除之前画的东西,那就不要直接把图形画到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);
            }
      

  5.   


    g.DrawEllipse(New Pen(背景色),10,10, 10, 10)