小弟C# 新手,用C# 划线时画出来了,那我如何才能让刚才画的线消失呢?代码如下
     private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = this.CreateGraphics();
            Pen p = new Pen(Color.Green, 1);
            g.DrawLine(p,20, 650, 20, 50);
            g.DrawLine(p, 20, 50, 1020, 50);
            g.DrawLine(p, 1020, 50, 1020, 650);
            g.DrawLine(p, 20, 650, 1020, 650);
             g.Dispose();
            p.Dispose();
       }

解决方案 »

  1.   

    Graphics g = this.CreateGraphics();
                    Pen p = new Pen(Color.Green, 1);
                    g.DrawLine(p, 20, 650, 20, 50);
                    g.DrawLine(p, 20, 50, 1020, 50);
                    g.DrawLine(p, 1020, 50, 1020, 650);
                    g.DrawLine(p, 20, 650, 1020, 650);
                    g.Clear(this.BackColor);//清除
                    g.Dispose();
                    p.Dispose();
      

  2.   


            int a = 0;
            private void button3_Click(object sender, EventArgs e)
            {
                a++;
                this.Refresh();
            }        private void Form1_Paint(object sender, PaintEventArgs e)
            {
                if (a%2==0)
                {
                    Graphics g = this.CreateGraphics();
                    Pen p = new Pen(Color.Green, 1);
                    g.DrawLine(p, 20, 650, 20, 50);
                    g.DrawLine(p, 20, 50, 1020, 50);
                    g.DrawLine(p, 1020, 50, 1020, 650);
                    g.DrawLine(p, 20, 650, 1020, 650);
                    g.Dispose();
                    p.Dispose();
                }
            }
      

  3.   

    g.Clear(this.BackColor);//清除
    1楼正解