private void Form1_MouseDown object sender MouseEventArgs событие отве

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private void Form1_MouseDown(object sender, MouseEventArgs e)//событие, отвечающее только за то, что кнопка была нажата
{
if (e.Button == MouseButtons.Left) //если зажата левая кнопка мыши, то запоминаем координаты
{
x_MouseDown = e.X;
y_MouseDown = e.Y;
OffOn = true;
}
}
private void Form1_MouseMove(object sender, MouseEventArgs e) // событие отвечающее за движение мыши
{
if (e.Button == MouseButtons.Left) // если зажата левая кнопка мыши, то рисуем линиюю
{
if (OffOn == true)
{
g.Clear(Color.White); // эта штука обязательна, чтобы не рисовалась туча линиий, по сути затирает все линии и оставляет только нашу, нужную
g.DrawLine(bluePen, x_MouseDown, y_MouseDown, e.X, e.Y);// сюда кидаем значения из MouseDown'a, а вторые координаты
} // это место, где проводили мышкой
}
}
private void Form1_MouseUp(object sender, MouseEventArgs e)// Подняли мышку
{
if (e.Button == MouseButtons.Left)//Подняли мышку, запомнили, где подняли
{
P[count].X = e.Location.X;
P[count].Y = e.Location.Y;
OffOn = false;
}
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right) // это нужно для рисования следующих линий, тут все как в первой лабе, нажали на
{ // форму, поставили линию
g.DrawLine(bluePen, e.X, e.Y, P[count].X, P[count].Y);
count++;
check++;
P[count].X = e.Location.X;
P[count].Y = e.Location.Y;
}
if (e.Button == MouseButtons.Middle)// тут на колесико жмем, замыкаем наш многоугольник, соединяется последняя и первая вершина
{
g.DrawLine(bluePen, x_MouseDown, y_MouseDown, P[count].X, P[count].Y);
P[check+1].X = x_MouseDown;
P[check+1].Y = y_MouseDown;
check++;
}
}