private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { if (Form.MouseButtons == MouseButtons.Left) { if (figure == null) { //Создание фигуры Type type = GetFigure(Figures.SelectedIndex); figure = Activator.CreateInstance(type) as IDraw; //Инициализация значений Point point = new Point(); point.X = Form1.MousePosition.X - pictureBox1.Location.X - 1; point.Y = Form1.MousePosition.Y - pictureBox1.Location.Y - 22; figure.Initialization(point, GetThickness(comboBox2.SelectedIndex), GetColor(comboBox3.SelectedIndex), GetColor(comboBox4.SelectedIndex)); } else { //Обновление FieldRefresh(); //Отрисовка Point point = new Point(); point.X = Form1.MousePosition.X - pictureBox1.Location.X - 1; point.Y = Form1.MousePosition.Y - pictureBox1.Location.Y - 22; if (figure.IsSimpleFigure()) { figure.SetPoint(point); } else { figure.AddPoint(point); } figure.Draw(Graph); pictureBox1.Refresh(); } } else if (Form.MouseButtons == MouseButtons.Right) { if (figure != null) { if (!figure.IsSimpleFigure()) { //Сохранение фигуры if ((figure.GetWidth() > 0) && (figure.GetHeight() > 0)) { figure.Save(); AddFigure(); } figure = null; //Обновление FieldRefresh(); pictureBox1.Refresh(); } } } }