Нарисовать равнобедренную трапецию - C#
Формулировка задачи:
Нужно нарисовать равнобедренную трапецию. Первая точка - верхняя левая вершина, потом, удерживая кнопку мыши, получаем правую нижнюю и при этом нам известен угол (считываем из TextBox'a). Т.е. должно выглядеть все примерно так, только всегда должна получаться равнобедренной с указанным углом при основании
Решение задачи: «Нарисовать равнобедренную трапецию»
textual
Листинг программы
public partial class Form1 : Form { private List<Point> polygonPoints = new List<Point>(); public Form1() { InitializeComponent(); } private void TestForm_MouseClick(object sender, MouseEventArgs e) { switch (e.Button) { case MouseButtons.Left: polygonPoints.Add(new Point(e.X, e.Y)); if (polygonPoints.Count > 1) { this.DrawPoligon(polygonPoints[polygonPoints.Count - 2], polygonPoints[polygonPoints.Count - 1]); } break; case MouseButtons.Right: { polygonPoints.Clear(); Graphics g = this.CreateGraphics(); g.Clear(Color.White); // очистка, цвет можете указать любой } break; } } private void DrawPoligon(Point p1, Point p2) { Graphics G = this.CreateGraphics(); Point p3 = new Point(p2.X-50,p1.Y); Point p4 = new Point(p1.X - 50, p2.Y); G.DrawLine(Pens.Black, p1, p3); G.DrawLine(Pens.Black, p3, p2); G.DrawLine(Pens.Black, p2, p4); G.DrawLine(Pens.Black, p1, p4); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д