Листинг 27.1. Объявляем глобальные переменные и записываем наш код.
//Объявляем глобальные переменные для координат "x" и "y"
//указателя мыши в момент 1-го и 2-го нажатий кнопки мыши:
public int x_MouseDown_1, y_MouseDown_1,
x_MouseDown_2, y_MouseDown_2;
//Чтобы рисование осуществлялось только после каждого щелчка
//кнопки,объявляем переключатель рисования
//в виде глобальной переменной OffOn:
bool OffOn = false;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
//Объявляем объект "g" класса Graphics
//и при помощи функции CreateGraphics
//предоставляем ему возможность рисования
//на this форме Form1:
Graphics g = this.CreateGraphics();
//Выбираем перо "myPen" красного цвета Red
//толщиной в 3 пикселя:
Pen myPen = new Pen(Color.Red, 3);
//Определяем координаты "x" и "y" указателя мыши
//в момент нажатия кнопки мыши:
x_MouseDown_2 = e.X;
y_MouseDown_2 = e.Y;
//Проверяем условие для переменной OffOn:
//Если переменная OffOn равна
//исходному значению false,
if (OffOn == false)
{
//то задаем координаты указателя мыши
//после первого нажатия кнопки мыши:
x_MouseDown_1 = x_MouseDown_2;
y_MouseDown_1 = y_MouseDown_2;
//Изменяем значение OffOn на противоположное:
OffOn = true;
}
else
{
//Если переключатель в виде переменной OffOn
//равен true, то рисуем линию между предыдущей
//и последующей позицией указателя мыши
//в момент нажатия кнопки мыши:
g.DrawLine(myPen, x_MouseDown_1, y_MouseDown_1,
x_MouseDown_2, y_MouseDown_2);
//Задаем предыдущей позиции указателя мыши
//координаты данной позиции указателя мыши: