Создание Windows-приложений на основе Visual C#



              

Диалоговое окно выбора ширины линии. Элемент управления TrackBar - часть 2


Создаем свойство PenWidth, которое будет возвращать значение толщины для пера главной формы:

public float PenWidth { get { float f = Decimal.ToSingle(numericUpDown1.Value); return f; } }

При вызове диалогового окна на панели сразу будет появляться эскиз линии по умолчанию, для этого создаем обработчик события Paint формы, в котором вызываем метод DrawLine:

private void LineWidth_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { DrawLine(); }

Связываем перемещение ползунка элемента trackBar1 со значением в поле элемента numericUpDown1, для чего в обработчике события Scroll вводим переменную val, связывающую свойства Value этих элементов:

private void trackBar1_Scroll(object sender, System.EventArgs e) { int val = trackBar1.Value; numericUpDown1.Value = val; }

Аналогично, для связывания значения в поле элемента numericUpDown1 с перемещением ползунка в обработчике события ValueChanged вводим переменную val2:

private void numericUpDown1_ValueChanged(object sender, System.EventArgs e) { int val2 = (int)numericUpDown1.Value; trackBar1.Value = val2; DrawLine(); }

В этом обработчике мы также вызываем метод DrawLine для вывода эскиза линии на форме. Последнее, что нам осталось сделать, — добавить обработчик в пункте меню "Толщина линии" главной формы:

private void mnuWidth_Click(object sender, System.EventArgs e) { LineWidth diag = new LineWidth(); if (diag.ShowDialog(this)== DialogResult.OK) { mainPen = new Pen(mainPen.Color, diag.PenWidth); } }

Запускаем приложение. Теперь можно рисовать не только разными цветами, но и разной толщиной пера (рис. 6.19).

Приложение EasyPaint и его диалоговое окно

Рис. 6.19.  Приложение EasyPaint и его диалоговое окно "Толщина линии"

На диске, прилагаемом к книге, вы найдете приложение EasyPaint (Code\Glava6\ EasyPaint).

on_load_lecture()

Дальше »

  Если Вы заметили ошибку - сообщите нам.  

Страницы:

« |

1

|

2

|

3

|

4

|

5

|

6

|

7

|

8

|

вопросы | »

|

учебники




Содержание  Назад  Вперед