Как нарисовать несколько линий? - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть кнопка, по её нажатии рисуется линия, с заданными координатами. Если я сменю координаты(во время работы приложения) и нажму на кнопку, то линия исчезает и появляется новая, с другими координатами. Как мне сделать так, чтобы при нажатии на кнопку, рисовалась

новая

линия?

Решение задачи: «Как нарисовать несколько линий?»

textual
Листинг программы
  1. public partial class Form1 : Form
  2. {
  3.     List<Point> circles = new List<Point>(); //список, в котором хранятся сведения о рисуемых фигурах (точко - центры кругов)
  4.     public Form1()
  5.     {
  6.         InitializeComponent();
  7.         this.Load += Form1_Load; //к событию загрузки формы подписываем обработчик Form1_Load
  8.     }
  9.  
  10.     private void Form1_Load(object sender, EventArgs e)
  11.     {
  12.         this.Paint += Form1_Paint; //к событию Paint формы подписываем обработчик Form1_Paint
  13.         this.MouseClick += Form1_MouseClick; //к событию клика по форме подписываем Form1_MouseClick
  14.     }
  15.  
  16.     void Form1_MouseClick(object sender, MouseEventArgs e)
  17.     {
  18.         circles.Add(new Point(e.X, e.Y)); //при щелчке по форме координаты мыши записываются в список фигур
  19.         Invalidate(); //форма перерисовывается, при этом происходит событие Paint и запускается Form1_Paint
  20.     }
  21.  
  22.     void Form1_Paint(object sender, PaintEventArgs e)
  23.     {
  24.         foreach (Point point in circles) //перебираются все фигуры из списка
  25.         {
  26.             e.Graphics.FillEllipse(Brushes.Red, point.X, point.Y, 30f, 30f); //и каждая из них рисуется на форме
  27.         }
  28.     }
  29. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы