Как нарисовать несколько линий? - C#
Формулировка задачи:
У меня есть кнопка, по её нажатии рисуется линия, с заданными координатами. Если я сменю координаты(во время работы приложения) и нажму на кнопку, то линия исчезает и появляется новая, с другими координатами. Как мне сделать так, чтобы при нажатии на кнопку, рисовалась
новая
линия?Решение задачи: «Как нарисовать несколько линий?»
textual
Листинг программы
public partial class Form1 : Form
{
List<Point> circles = new List<Point>(); //список, в котором хранятся сведения о рисуемых фигурах (точко - центры кругов)
public Form1()
{
InitializeComponent();
this.Load += Form1_Load; //к событию загрузки формы подписываем обработчик Form1_Load
}
private void Form1_Load(object sender, EventArgs e)
{
this.Paint += Form1_Paint; //к событию Paint формы подписываем обработчик Form1_Paint
this.MouseClick += Form1_MouseClick; //к событию клика по форме подписываем Form1_MouseClick
}
void Form1_MouseClick(object sender, MouseEventArgs e)
{
circles.Add(new Point(e.X, e.Y)); //при щелчке по форме координаты мыши записываются в список фигур
Invalidate(); //форма перерисовывается, при этом происходит событие Paint и запускается Form1_Paint
}
void Form1_Paint(object sender, PaintEventArgs e)
{
foreach (Point point in circles) //перебираются все фигуры из списка
{
e.Graphics.FillEllipse(Brushes.Red, point.X, point.Y, 30f, 30f); //и каждая из них рисуется на форме
}
}
}