Нарисовать равнобедренную трапецию - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д