public void draw(TwoPointFigure el, Graphics g, Pen p) { string type = el.TYPE; if (type == "line") { g.DrawLine(p, el.P1, el.P2); } if (type == "rectangle") { g.DrawRectangle(p, new Rectangle(el.P1.X, el.P1.Y, Math.Abs(el.P2.X - el.P1.X), Math.Abs(el.P2.Y - el.P1.Y))); } if (type == "ellipse") { g.DrawEllipse(p, new Rectangle(el.P1.X, el.P1.Y, Math.Abs(el.P2.X - el.P1.X), Math.Abs(el.P2.Y - el.P1.Y))); } if (type == "square") { g.DrawRectangle(p, new Rectangle(el.P1.X, el.P1.Y, el.A, el.A)); } if (type == "circle") { g.DrawEllipse(p, new Rectangle(el.P1.X, el.P1.Y, el.A, el.A)); } }
private void pbpaint_MouseDown(object sender, MouseEventArgs e) { listP.Add(new Point(e.X, e.Y)); if (rbtriangle.Checked == false && listP.Count > 2) { listP.Clear(); } if (listP.Count == 2 && !rbtriangle.Checked) { TwoPointFigure twopointsfigure = new TwoPointFigure(listP[0], listP[1]); if (rbline.Checked == true) { twopointsfigure.TYPE = "line"; } if (rbellipse.Checked == true) { twopointsfigure.TYPE = "ellipse"; } if (rbcircle.Checked == true) { twopointsfigure.TYPE = "circle"; } if (rbrectangle.Checked == true) { twopointsfigure.TYPE = "rectangle"; } if (rbsquare.Checked == true) { twopointsfigure.TYPE = "square"; } drawer.draw(twopointsfigure, pbpaint.CreateGraphics(), new Pen(Color.Black, 3)); listP.Clear(); } if (listP.Count == 3 && rbtriangle.Checked == true) { ThreePointFigure threepointsfigure = new ThreePointFigure(listP[0], listP[1], listP[2]); drawer.draw(threepointsfigure, pbpaint.CreateGraphics(), new Pen(Color.Black, 3)); listP.Clear(); } }