Управление формами Windows
В этой лекции вы узнаете, как:
- добавлять в программу новые формы;
- изменять положение формы на рабочем столе Microsoft Windows;
- добавлять в форму элементы управления во время выполнения программы;
- изменять размещение объектов в форме;
- указывать, какой объект запускать первым.
В части 3 вы узнали, как создавать сложные программы на Microsoft Visual Basic .NET, с использованием модулей, массивов, коллекций, текстовых файлов и приложений Microsoft Office. В части 4 вы снова обратитесь к интерфейсу пользователя и узнаете, как создавать проекты с несколькими формами, эффектами анимации, использовать визуальное наследование и добавлять в приложения Visual Basic поддержку печати.
В этой лекции вы узнаете, как добавлять в приложение дополнительные формы, предназначенные для обработки ввода, вывода или специальных сообщений. Вы также узнаете, как использовать свойство DesktopBounds для задания размера и положения формы, как во время выполнения программы добавлять в форму элементы управления, как изменять расположение объектов в форме и как указать форму или процедуру, которая должна быть запущена при запуске программы.
Что нового в Visual Basic .NET?
- В Visual Basic .NET вы не можете устанавливать свойства второй формы проекта, не имея экземпляра переменной формы, которой вы хотите управлять.
- В Visual Basic 6 вы могли устанавливать положение формы на рабочем столе Windows при ее запуске с помощью графического окна Form Layout (Внешний вид формы). В Visual Basic .NET окна Form Layout (Внешний вид формы) нет, но для установки размера и положения формы при ее запуске можно использовать новое свойство формы, которое называется DesktopBounds.
- В Visual Basic 6 вы могли добавить в форму новые элементы управления во время выполнения с помощью кода программы. В Visual Basic .NET есть аналогичная возможность. Изменения синтаксиса добавления элементов управления во время выполнения будут обсуждаться в этой лекции.
- Новое свойство объектов, размещенных в форме - Anchor - указывает, какие стороны этих объектов должны оставаться на постоянном расстоянии от краев формы, когда форма изменяет свой размер. Новое свойство Dock заставляет объект оставаться прикрепленным к краю формы при изменении ее размера. Свойства Anchor и Dock позволяют создавать формы, в которых объекты изменяют размеры в соответствии с изменением размера формы.
- В Visual Basic 6 вы могли строить проекты MDI (multiple document interface - многодокументный интерфейс), создав родительскую MDI-форму с помощью команды Add MDI Form (Добавить MDI-форму) из меню Project (Проект). В Visual Basic .NET родительские MDI-формы являются простыми формами, у которых свойство IsMdiContainer установлено на значение True. Дочерние MDI-формы являются обычными формами, у которых свойство MdiParent установлено равным имени родительской формы.
Добавление в программу новых форм
Каждая из программ, которые вы до сих пор писали, использовала для ввода и вывода только одну форму. Во многих случаях для взаимодействия с пользователем одной формы вполне достаточно. Но если вам требуется обмениваться с пользователем большим объемом информации, Visual Basic позволяет добавить в программу дополнительные формы. Каждая новая формы рассматривается как объект, который наследует свои свойства от класса System.Windows.Forms.Form. Первая форма программы называется Form1.vb. Последующие формы называются Form2.vb, Form3.vb и т.д. (Вы можете изменить имена форм по умолчанию в диалоговом окне Add New Item или с помощью Обозревателя решений). Следующая таблица содержит список способов практического применения дополнительных форм в вашей программе.
Каждая новая форма имеет уникальное имя и свой собственный набор объектов, свойств, методов и процедур событий.
Форма или формы | Описание |
---|---|
"Титульная" форма | Форма, которая при запуске программы отображает сообщение приветствия, графику или информацию об авторских правах. |
Инструкции программы | Форма, которая отображает информацию и подсказки о том, как работать с программой. |
Диалоговые окна | Дополнительные диалоговые окна, которые принимают данные и отображают результаты работы программы. |
Содержимое документов | Форма, которая отображает содержимое одного или более файлов и изображений, используемых в программе. |
Как используются формы
Visual Basic позволяет пользоваться формами достаточно гибко. Вы можете сделать все формы программы видимыми одновременно, а можете загружать и выгружать формы по мере их необходимости. Если вы выводите сразу несколько форм, то можете разрешить пользователю переключаться между ними, а можете управлять порядком, в котором эти формы используются. Форма, которой при ее отображении на экране передается фокус ввода, называется диалоговым окном. Диалоговые окна (называемые в Visual Basic 6 модальными формами ) сохраняют фокус ввода до тех пор, пока пользователь не нажмет на OK, на Cancel ( Отмена ) или не закроет ее другим способом. Чтобы в Visual Basic .NET отобразить существующую форму как диалоговое окно, откройте ее с помощью метода ShowDialog.
Если вы хотите отобразить форму, на которую пользователь сможет переключиться, используйте вместо метода ShowDialog метод Show. В Visual Basic 6 формы, которые могли терять фокус ввода, назывались немодальными формами, и вы по-прежнему можете услышать такое их название. Большинство приложений для Microsoft Windows использует для отображения информации обычные немодальные формы, так как они дают пользователю большую гибкость, и при создании новой формы в Microsoft Visual Studio этот стиль является стилем по умолчанию. Так как формы - это просто члены класса System.Windows.Forms.Form, вы также можете создать и отобразить формы с помощью кода программы.
Чтобы узнать, как в приложении на Visual Basic определяется форма по умолчанию, изучите код в разделе, сгенерированном Windows Form Designer, расположенном в верхней части каждой новой формы. К настоящему моменту вы узнали о коде программы достаточно, чтобы понять большую часть этого кода.
Работа с несколькими формами
В следующих упражнениях показано, как использовать вторую форму для отображения справочной информации о программе Lucky Seven, с которой вы работали в предыдущих лекциях. Добавьте вторую форму с помощью команды Add Windows Form (Добавить форму Windows) из меню Project (Проект), а отображать эту форму на экране будете в коде программы с помощью метода ShowDialog. Вторая форма будет отображать файл Readme.txt, который использовался для отображения справочной информации в "Развертывание приложений Visual Basic .NET" .