private void pictureBox1_Paint(object sender, PaintEventArgs e) { drawGrids(e); drawAll(e); if (realTime) { Graphics g = e.Graphics; if (drawFinished) { g.FillRectangle(new SolidBrush(Color.FromArgb(122, 122, 122)), realTimePoint.X, realTimePoint.Y, 10, 10); } else { if (lineDrawing) { if (0 == lineList.Count()) { return; } Point from = lineList[lineList.Count() - 1].toNode; MyLine line = new MyLine(from, realTimePoint); line.setDrawIn(drawIn); line.drawMyself(e, Color.FromArgb(122, 122, 122), assistShow); } else if (polylineDrawing) { if (0 == polylineList.Count()) { return; } Point from = polylineList[polylineList.Count() - 1].containList[polylineList[polylineList.Count() - 1].containList.Count() - 1]; MyLine line = new MyLine(from, realTimePoint); line.setDrawIn(drawIn); line.drawMyself(e, Color.FromArgb(122, 122, 122), assistShow); } else if (circleDrawing) { if (0 == circleList.Count()) { return; } int r = Convert.ToInt32(circleList[circleList.Count() - 1].getDistance(realTimePoint)) / 10 * 10; MyCircle circle = new MyCircle(circleList[circleList.Count() - 1].center, r); circle.setDrawIn(drawIn); circle.drawMyself(e, Color.FromArgb(122, 122, 122), assistShow); } } } }
private void newAdd(Point p) { if (multiDrawing) { if (mixShow) { if (drawFinished) { drawFinished = false; if (lineDrawing) { MyLine newline = new MyLine(p, p); newline.setDrawIn(drawIn); lineList.Add(newline); } else if (polylineDrawing) { MyPolyline newpolyline = new MyPolyline(new List <Point> { }); newpolyline.setDrawIn(drawIn); newpolyline.Add(p); polylineList.Add(newpolyline); //polylineList[polylineList.Count() - 1].Add(p); } else if (circleDrawing) { MyCircle newcircle = new MyCircle(p); newcircle.setDrawIn(drawIn); circleList.Add(newcircle); } } else { if (lineDrawing) { drawFinished = true; MyLine newline = new MyLine(lineList[lineList.Count() - 1].fromNode, p); newline.setDrawIn(drawIn); lineList[lineList.Count() - 1] = newline; } else if (polylineDrawing) { polylineList[polylineList.Count() - 1].Add(p); } else if (circleDrawing) { drawFinished = true; int r = Convert.ToInt32(circleList[circleList.Count() - 1].getDistance(p)) / 10 * 10; MyCircle newcircle = new MyCircle(circleList[circleList.Count() - 1].center, r); newcircle.setDrawIn(drawIn); circleList[circleList.Count() - 1] = newcircle; } } } else { if (drawFinished) { drawFinished = false; if (lineDrawing) { MyLine newline = new MyLine(p, p); newline.setDrawIn(drawIn); lineList.Add(newline); circleList.Clear(); polylineList.Clear(); } else if (polylineDrawing) { MyPolyline newpolyline = new MyPolyline(new List <Point> { }); newpolyline.setDrawIn(drawIn); newpolyline.Add(p); polylineList.Add(newpolyline); lineList.Clear(); circleList.Clear(); } else if (circleDrawing) { MyCircle newcircle = new MyCircle(p); newcircle.setDrawIn(drawIn); circleList.Add(newcircle); lineList.Clear(); polylineList.Clear(); } } else { if (lineDrawing) { drawFinished = true; circleList.Clear(); polylineList.Clear(); MyLine newer = new MyLine(lineList[lineList.Count() - 1].fromNode, p); newer.setDrawIn(drawIn); lineList[lineList.Count() - 1] = newer; } else if (polylineDrawing) { polylineList[polylineList.Count() - 1].Add(p); lineList.Clear(); circleList.Clear(); } else if (circleDrawing) { drawFinished = true; lineList.Clear(); polylineList.Clear(); int r = Convert.ToInt32(circleList[circleList.Count() - 1].getDistance(p)) / 10 * 10; MyCircle newer = new MyCircle(circleList[circleList.Count() - 1].center, r); newer.setDrawIn(drawIn); circleList[circleList.Count() - 1] = newer; } } } } else { if (drawFinished) { lineList.Clear(); polylineList.Clear(); circleList.Clear(); drawFinished = false; if (lineDrawing) { MyLine newline = new MyLine(p, p); newline.setDrawIn(drawIn); lineList.Add(newline); } else if (polylineDrawing) { MyPolyline newpolyline = new MyPolyline(new List <Point> { }); newpolyline.setDrawIn(drawIn); newpolyline.Add(p); polylineList.Add(newpolyline); } else if (circleDrawing) { MyCircle newcircle = new MyCircle(p); newcircle.setDrawIn(drawIn); circleList.Add(newcircle); } } else { if (lineDrawing) { drawFinished = true; MyLine newer = new MyLine(lineList[0].fromNode, p); newer.setDrawIn(drawIn); lineList[0] = newer; } else if (polylineDrawing) { polylineList[0].Add(p); } else if (circleDrawing) { drawFinished = true; int r = Convert.ToInt32(circleList[0].getDistance(p)) / 10 * 10; MyCircle newer = new MyCircle(circleList[0].center, r); newer.setDrawIn(drawIn); circleList[0] = newer; } } } }