Cамоучитель по VB.NET

         

Простейшее Windows-приложение




Ограниченный объем книги не позволяет нам рассмотреть все свойства класса Form, но мы хотим выделить существенные различия между поведением форм в прежних версиях VB и VB .NET. Одно из самых принципиальных изменений связано с использованием шрифтов. Вместо старых шрифтовых свойств (например, FontBold) используется класс Font пространства имен System.Drawing, самый распространенный конструктор которого выглядит следующим образом:

Sub New(ByVal family As FontFamily.ByVal emSize As Single._

ByVal style As FontStyle)

Термин «семейство шрифтов» (font family) хорошо знаком пользователям Word. Семейством называется группа шрифтов (Times New Roman, Courier New, Arial и т. д.), объединенных сходным графическим стилем, но обладающих разным кеглем и атрибутами начертания (курсив, жирный шрифт и т. д.).

Например, поскольку оператор Or объединяет значения отдельных битов, следующая команда присваивает переменной MyFont объект полужирного курсивного шрифта Arial с кеглем 12 пунктов:

myFont =New System.Drawing.Font("Arial". 12._

FontStyle.Bold Or FontStyle.Italic)

Следующая процедура события Button 1_C1ick изменяет шрифт при нажатии кнопки:

Private Sub Buttonl_Click(ByVal sender As System.Object. _

ByVal e As System.EventArgs) Handles Buttonl.Click

Dim myFont As System.Drawing.Font

myFont = New System.Drawing.Font("Arial".12.

FontStyle.Bold Or FontStyle.Italic)

Me.Font = myFont End Sub

На Рисунок 8.9 показано, как выглядит новый шрифт на кнопке.

Рисунок 8.9. Кнопка с текстом, оформленным полужирным курсивным шрифтом

При изменении свойства Font формы новый шрифт автоматически используется для вывода свойства Text всех элементов, расположенных на форме. Исключение составляют элементы, которым были назначены собственные шрифты.

В сочетании со свойствами Anchor и Dock часто используются свойства MinimumSize и MaximumSize, определяющие соответственно минимальные и максимальные размеры формы. Значения этих свойств представляют собой объекты Size. Например, следующая команда запрещает уменьшать форму до размеров, меньших размеров кнопки:

Me.MimmumSize =New Size(Buttonl.Size)

Поскольку свойство MinimumSize управляет изменением свойства Size, в заданные размеры включается размер заголовка окна. Таким образом, после выполнения предыдущей команды в уменьшенном окне почти не останется места для кнопки. Лучше воспользоваться командой вида

Me.MinimumSize = New Size(Buttonl.Size.Width * 2, Button1.Size.Height * 2)

При изменении свойства MaximumSize часто используется класс System.Windows. Forms.Screen, предназначенный для работы с экранами (с поддержкой нескольких мониторов). Этот класс также используется при изменении свойств DesktopBounds и DesktopLocation.

Новое свойство ClientSi ze возвращает информацию о клиентской области формы (области, не включающей заголовок и рамку). Свойство Bounds предназначено для чтения/записи структуры Rectangle, содержащей ширину и высоту формы и позицию ее левого верхнего угла.

Класс Rectangle пространства имен System.Drawing содержит немало полезных мето-дов; подробное описание этой вспомогательной структуры данных приведено в документации. Мы часто используем метод Inflate, предназначенный для увеличения прямоугольников с заданным приращением.

Многие свойства, методы и события форм отличаются от своих прототипов из VB6. Важнейшие изменения перечислены в табл. 8.1.

Таблица 8.1. Изменения в свойствах, методах и событиях форм

Старый элемент формы

Новый элемент формы

Activate/Deactivate (события)

Переименованы в Activated/Deactivated

Container (свойство)

Переименовано в Parent

DblClick (событие)

Переименовано в DoubleClick

hWnd (свойство)

Переименовано в Handle

MouseCursor (свойство)

Переименовано в Cursor и возвращает экземпляр класса Cursor

Parent (свойство)

Заменено методом FindForm

Picture (свойство)

Заменено свойством Backgroundlmage

SetFocus (метод)

Переименован в Focus

Startup (свойство)

Заменено свойством StartPosition

ToolTip (свойство)

Заменено элементом ToolTip, который связывается с элементами через свойство ToolTip элемента

Unload (команда) Unload (событие)

Заменена методом Close

Заменено событием hosing (также существует новое событие Closed, инициируемое после закрытия формы)

ZOrder (метод)

Заменен методами BriflgToFront и SendToBack

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



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