Управление формами Windows
Следующий шаг: определение загрузочного объекта
Если ваш проект содержит более одной формы, то какая из этих форм будет загружаться первой при запуске вашего приложения? Хотя Visual Basic обычно первой загружает ту форму, которая была в проекте создана первой (Form1.vb), вы можете изменить загружаемую Visual Basic первой форму, изменив одну настройку в диалоговом окне Property Pages (Страницы свойств) проекта. Вы также можете указать Visual Basic выполнить сначала процедуру с именем Sub Main, которая может объявлять открытые переменные и после выполнения каких-либо действий или проверок загружать одну или несколько форм. Имея возможность указать, какую форму или процедуру следует загружать первой, вы можете создавать поистине хорошо настраиваемый и адаптируемый интерфейс пользователя вашей программы.
В следующем упражнении показано, как изменять первую загружаемую форму, которая отображается Visual Basic при запуске вашей программы. Вы также узнаете, как устанавливать в качестве загрузочного объекта вашего проекта процедуру Sub Main.
Переключение с Form1 на Form2
- Щелкните на команде Close Solution (Закрыть решение) в меню File (Файл), а затем создайте в папке c:\vbnet03sbs\Гл.15 новый проект с именем My Startup Form.
- Если Form1.vb еще не отображается, то отобразите ее на экране.
- Щелкните на команде Add Windows Form (Добавить форму Windows) в меню Project (Проект). Чтобы продемонстрировать, как работает переключение загрузочных форм, необходимо добавить в проект новую форму.
- Чтобы добавить в Обозреватель решений вторую форму (Form2.vb), щелкните на Открыть.
-
Щелкните в Обозревателе решений на значке проекта My Startup Form, а затем щелкните на Properties (Свойства) в меню Project (Проект). Откроется диалоговое окно Startup Form Property Pages (Страницы свойств Startup Form), показанное ниже.
Диалоговое окно Property Pages (Страницы свойств) позволяет настроить свойства, которые применяются ко всему проекту. В данном случае для указания новой загрузочной формы используется раскрывающийся список Startup Object (Начальный объект).
- Щелкните на раскрывающемся списке Startup Object (Начальный объект), а затем на Form2. Visual Basic изменит загрузочную форму вашего проекта с Form1 на Form2. Когда программа будет запущена, будет отображена Form2, а форма Form1 появится только в том случае, если она будет открыта с помощью метода Show или ShowDialog.
- Чтобы закрыть диалоговое окно Property Pages (Страницы свойств), щелкните на OK.
- Щелкните на кнопке Start (Начать) панели инструментов. Программа запустится в среде разработки, и появится Form2.
- Чтобы завершить выполнение программы, щелкните на кнопке Закрыть формы.
Теперь вы должны добавить в проект модуль с процедурой Sub Main и установить ее в качестве загрузочного объекта так, чтобы выполнение начиналось со стандартного модуля.
Запуск программы с Sub Main
- Чтобы добавить в Обозревателе решений модуль Module1.vb, щелкните в меню Project (Проект) на команде Add New Item (Добавить новый компонент), далее на шаблоне Module, а затем на Open (Открыть).
- Если Module1 не откроется в Редакторе кода, выберите Module1.vb в Обозревателе решений, а затем щелкните на кнопке View Code (Просмотреть код).
-
Введите между операторами программы Module и End Module следующий код:
Public MyForm1 As New Form1() Public MyForm2 As New Form2() Public Sub Main() MsgBox("Это Sub Main") 'поместите дополнительный код здесь MyForm1.ShowDialog() End Sub
Когда вы добавляете в ваш проект процедуру Sub Main, необходимо ввести ее в стандартном модуле. Процедура Sub Main должна быть объявлена как Public и не должна принимать никаких аргументов (за исключением консольных приложений, которые скоро будут обсуждаться). Заметьте, что в дополнение к определению процедуры Sub Main, которая отображает окно сообщения, а затем открывает Form1 как диалоговое окно, я также объявил две открытые переменные, представляющие в проекте Form1 и Form2. Для создания экземпляров объектов Form1 и Form2 используется ключевое слово New. В Visual Basic 6 объекты форм были доступны в модулях автоматически, и не было необходимости создавать новые экземпляры.
- Щелкните в Обозревателе решений на значке проекта My Startup Form, а затем на Properties (Свойства) в меню Project (Проект). Появится окно Startup Form Property Pages (Страницы свойств Startup Form).
- Щелкните на раскрывающемся списке Startup Object (Начальный объект), а затем щелкните на Sub Main. Visual Basic изменит загрузочную форму вашего проекта с Form2 на Sub Main. Когда программа будет запущена, первой будет выполнена процедура Sub Main, а затем будет отображено окно Form1.
- Чтобы закрыть диалоговое окно Property Pages (Страницы свойств), щелкните на OK.
-
Щелкните на кнопке Start (Начать) панели инструментов. Программа запустится на выполнение в среде разработки, и будет выполнена процедура Sub Main. Вы увидите такое окно сообщения.
- Щелкните в окне сообщения на OK. Процедура Sub Main закроет это окно сообщения и отобразит Form1 как новое диалоговое окно программы.
- Чтобы завершить выполнение программы, щелкните на кнопке Закрыть формы.
Хотя это демонстрационное упражнение довольно простое, вы можете видеть, что Visual Basic предоставляет достаточную гибкость в вопросе запуска вашей программы. Вы можете указать в качестве начала вашего приложения различные формы, а можете добавить в ваш проект процедуру Sub Main и начать выполнение непосредственно с кода программы.