Пример: вывод всех шрифтов в системе
Для демонстрации вывода текста была написана программа, которая воспроизводит в графическом поле все установленные шрифты с указанием имен (попутно мы столкнулись с проблемой, описанной в конце раздела). Программа состоит из нестандартного элемента и формы с прокруткой (рис. 8.24).
Рис. 8.24. Вывод списка установленных шрифтов в форме с прокруткой
Список системных шрифтов возвращается методом InstalledFontCollection пространства имен System.Drawing.Text. Этот метод возвращает объект класса System.Drawing.Text.FontCollection. Объекты, входящие в коллекцию FontCollection, представляют не шрифты, а семейства шрифтов (такие, как Arial или Courier). Вы должны выбрать из семейства нужный шрифт. Некоторые шрифты не имеют обычного начертания, поскольку их семейство состоит только из курсивных, узких, тонких и других модифицированных начертаний. Следовательно, в программе должен присутствовать фрагмент вида:
For Each aFontFamily In TheFonts.Families If aFontFamily.IsStyleAvailable(FontStyle.Regular) Then
Мы решили оформить программу в виде специализированного графического поля (элемент PictureBox), которое размещается на форме при загрузке. При этом на форме также включаются обе полосы прокрутки:
Private Sub Form1_Load(ByVal sender As System.Object._ ByVal e As System. EventArgs)Hand.les MyBase.Load Me.VScroll = True Me.HScroll = True Me.AutoScroll = True FontPictureBoxl.Left = 0 FontPictureBoxl.Top = 0 End Sub