ПОНЯТНО О Visual Basic NET (том 3)

       

Диалоговое окно настройки шрифта


Типичное диалоговое окно настройки шрифта показано на Рис. 20.5.

Рис. 20.5

Такое или похожее окно мы видим во многих приложениях Windows, например, в Word. Такое же окно, но без настройки цвета, мы видим в VS при ручной настройке шрифта элементов управления в окне свойств (см. Рис. 3.5 в 3.2.2).

Настраиваем шрифт текстового поля. Создадим проект, в котором предоставим пользователю возможность, редактируя текст в текстовом поле, выбирать при помощи такого диалогового окна шрифт текста в текстовом поле.

Создайте проект. Разместите в нем текстовое поле, кнопку и элемент управления FontDialog. Вот программа:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        FontDialog1.ShowColor = True    'Предоставить возможность выбирать цвет шрифта

        FontDialog1.ShowDialog()           'Показать диалоговое окно настройки  шрифта

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

        TextBox1.Font = FontDialog1.Font

        'Присвоить цвету шрифта текстового поля значение цвета шрифта, выбранного в диалоговом окне:

        TextBox1.ForeColor = FontDialog1.Color



End Sub

Пояснения: Оператор

        FontDialog1.ShowColor

= True    'Предоставить возможность выбирать цвет шрифта

приказывает отображать в диалоговом окне настройки шрифта раскрывающийся список для настройки цвета.

На операторе

        FontDialog1.ShowDialog()           'Показать диалоговое окно настройки  шрифта

появляется диалоговое окно настройки шрифта, программа останавливается и ждет. Мы настраиваем шрифт и нажимаем на кнопку OK диалогового окна. После нажатия окно пропадает, настройки (кроме цвета) запоминаются в свойстве Font объекта FontDialog1, цвет запоминается в свойстве Color объекта FontDialog1 и программа продолжает работу.

Действие двух других операторов ясно из комментариев.

Настраиваем шрифт графического объекта. Дополним нашу задачу требованием написать что-нибудь выбранным шрифтом на форме. Добавим в проект пару кнопок. Вот программа:


'Выбираем шрифт в диалоговом окне:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        FontDialog1.ShowColor = True

        FontDialog1.ShowDialog()

End Sub

'Применяем выбранный шрифт к текстовому полю:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        TextBox1.Font = FontDialog1.Font

        TextBox1.ForeColor = FontDialog1.Color

End Sub

'Пишем выбранным шрифтом на форме:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        'Создать шрифт, равный шрифту,  выбранному в диалоговом окне:

        Dim Шрифт As Font = FontDialog1.Font

        'Создать кисть цвета, выбранного в диалоговом окне:

        Dim Кисть As New SolidBrush(FontDialog1.Color)

        Dim Граф As Graphics = Me.CreateGraphics

        Граф.DrawString("Всегда!", Шрифт, Кисть, 0, 0)        'Написать выбранным шрифтом текст

End Sub

Пояснения: Здесь мы применяем один объект FontDialog1 как для текстового поля, так и для формы. Кто забыл, как создаются шрифты, перечитайте 12.2.3.


Содержание раздела