18c0693f

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


Типичное диалоговое окно настройки шрифта показано на Рис. 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.




Все публикации раздела