画板上 一边拖鼠标 一边画椭圆  的动态画圆是怎么实现的呢?

解决方案 »

  1.   

    bool isStartToDraw = false;
      Point startPoint = new Point();  private void Form1_MouseDown(object sender, MouseEventArgs e)
      {
      isStartToDraw = true;
      startPoint = e.Location;
      }  private void Form1_MouseMove(object sender, MouseEventArgs e)
      {
      if (isStartToDraw)
      {
      Graphics graphics = this.CreateGraphics();
      graphics.DrawLine(Pens.Black, startPoint, e.Location);
      startPoint = e.Location;
      }
      }  private void Form1_MouseUp(object sender, MouseEventArgs e)
      {
      isStartToDraw = false;
      }
      

  2.   

    2L正解,做标志量,在MOVE函数中不停画圆
      

  3.   

            Point startPoint = new Point();
            private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                startPoint = e.Location;
            }                private void Form1_MouseUp(object sender, MouseEventArgs e)
            {
                Graphics graphics = this.CreateGraphics();
                graphics.DrawEllipse(Pens.Red, startPoint.X, startPoint.Y, e.X, e.Y);
            }