大家好,请问。
在c#中,如何在picturebox上画圆,具体一些,是否要用到panel?:
1.用左键点picturebox时,获取圆心;
2.上面的点左键不放开,继续拖动,当左键放开时,由于拉的是一条线段,而那条线段就是圆的半径,所以圆就确定了。
请问大家,如何用代码实现,谢谢!!

解决方案 »

  1.   

    不要用Panel,用Graphics这个类就好了啊!
      

  2.   

    Point p;
            private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
            {
                p = e.Location;
            }        private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
            {
                double x1 = p.X;
                double x2 = e.X;
                double y1 = p.Y;
                double y2 = e.Y;
                int r = (int)Math.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));            Rectangle rea = new Rectangle(p.X - r, p.Y - r, 2 * r, 2 * r);
                Graphics g = this.pictureBox1.CreateGraphics();
                g.DrawEllipse(Pens.Red, rea);
            }
      

  3.   

    谢谢你的回答,但Rectangle 不是矩形吗,为什么这里会用到呢,谢谢!