Спонсор: Microsoft
Опубликован: 31.08.2006 | Доступ: свободный | Студентов: 3925 / 218 | Оценка: 4.14 / 3.89 | Длительность: 39:16:00
ISBN: 978-5-9570-0021-3
Лекция 16:

Управление формами Windows

Следующий шаг: определение загрузочного объекта

Если ваш проект содержит более одной формы, то какая из этих форм будет загружаться первой при запуске вашего приложения? Хотя Visual Basic обычно первой загружает ту форму, которая была в проекте создана первой (Form1.vb), вы можете изменить загружаемую Visual Basic первой форму, изменив одну настройку в диалоговом окне Property Pages (Страницы свойств) проекта. Вы также можете указать Visual Basic выполнить сначала процедуру с именем Sub Main, которая может объявлять открытые переменные и после выполнения каких-либо действий или проверок загружать одну или несколько форм. Имея возможность указать, какую форму или процедуру следует загружать первой, вы можете создавать поистине хорошо настраиваемый и адаптируемый интерфейс пользователя вашей программы.

В следующем упражнении показано, как изменять первую загружаемую форму, которая отображается Visual Basic при запуске вашей программы. Вы также узнаете, как устанавливать в качестве загрузочного объекта вашего проекта процедуру Sub Main.

Переключение с Form1 на Form2

  1. Щелкните на команде Close Solution (Закрыть решение) в меню File (Файл), а затем создайте в папке c:\vbnet03sbs\Гл.15 новый проект с именем My Startup Form.
  2. Если Form1.vb еще не отображается, то отобразите ее на экране.
  3. Щелкните на команде Add Windows Form (Добавить форму Windows) в меню Project (Проект). Чтобы продемонстрировать, как работает переключение загрузочных форм, необходимо добавить в проект новую форму.
  4. Чтобы добавить в Обозреватель решений вторую форму (Form2.vb), щелкните на Открыть.
  5. Щелкните в Обозревателе решений на значке проекта My Startup Form, а затем щелкните на Properties (Свойства) в меню Project (Проект). Откроется диалоговое окно Startup Form Property Pages (Страницы свойств Startup Form), показанное ниже.

    Диалоговое окно Property Pages (Страницы свойств) позволяет настроить свойства, которые применяются ко всему проекту. В данном случае для указания новой загрузочной формы используется раскрывающийся список Startup Object (Начальный объект).

  6. Щелкните на раскрывающемся списке Startup Object (Начальный объект), а затем на Form2. Visual Basic изменит загрузочную форму вашего проекта с Form1 на Form2. Когда программа будет запущена, будет отображена Form2, а форма Form1 появится только в том случае, если она будет открыта с помощью метода Show или ShowDialog.
  7. Чтобы закрыть диалоговое окно Property Pages (Страницы свойств), щелкните на OK.
  8. Щелкните на кнопке Start (Начать) панели инструментов. Программа запустится в среде разработки, и появится Form2.
  9. Чтобы завершить выполнение программы, щелкните на кнопке Закрыть формы.

Теперь вы должны добавить в проект модуль с процедурой Sub Main и установить ее в качестве загрузочного объекта так, чтобы выполнение начиналось со стандартного модуля.

Запуск программы с Sub Main

  1. Чтобы добавить в Обозревателе решений модуль Module1.vb, щелкните в меню Project (Проект) на команде Add New Item (Добавить новый компонент), далее на шаблоне Module, а затем на Open (Открыть).
  2. Если Module1 не откроется в Редакторе кода, выберите Module1.vb в Обозревателе решений, а затем щелкните на кнопке View Code (Просмотреть код).
  3. Введите между операторами программы 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 объекты форм были доступны в модулях автоматически, и не было необходимости создавать новые экземпляры.

  4. Щелкните в Обозревателе решений на значке проекта My Startup Form, а затем на Properties (Свойства) в меню Project (Проект). Появится окно Startup Form Property Pages (Страницы свойств Startup Form).
  5. Щелкните на раскрывающемся списке Startup Object (Начальный объект), а затем щелкните на Sub Main. Visual Basic изменит загрузочную форму вашего проекта с Form2 на Sub Main. Когда программа будет запущена, первой будет выполнена процедура Sub Main, а затем будет отображено окно Form1.
  6. Чтобы закрыть диалоговое окно Property Pages (Страницы свойств), щелкните на OK.
  7. Щелкните на кнопке Start (Начать) панели инструментов. Программа запустится на выполнение в среде разработки, и будет выполнена процедура Sub Main. Вы увидите такое окно сообщения.


  8. Щелкните в окне сообщения на OK. Процедура Sub Main закроет это окно сообщения и отобразит Form1 как новое диалоговое окно программы.
  9. Чтобы завершить выполнение программы, щелкните на кнопке Закрыть формы.

Хотя это демонстрационное упражнение довольно простое, вы можете видеть, что Visual Basic предоставляет достаточную гибкость в вопросе запуска вашей программы. Вы можете указать в качестве начала вашего приложения различные формы, а можете добавить в ваш проект процедуру Sub Main и начать выполнение непосредственно с кода программы.

Совет. Если вы хотите написать приложение Visual Basic совсем без графического интерфейса пользователя, необходимо создать консольное приложение - проект Visual Studio .NET, который обрабатывает ввод и вывод с помощью консоли командной строки (символьного окна, которое также известно как командная строка). За дополнительной информацией о написании консольных приложений обратитесь к справочной системе Visual Basic.

Краткая справка по лекции 15

Чтобы Сделайте следующее
Добавить в программу новые формы Щелкните на стрелке вниз справа от кнопки Add New Item (Добавить новый компонент) на стандартной панели инструментов, а затем щелкните на Add Windows Form (Добавить форму Windows) или в меню Project выберите пункт Add Windows Form (Добавить форму Windows), а затем щелкните на Open (Открыть).
Создать и изменить новую форму с помощью кода программы

Создайте новую форму с помощью ключевых слов Dim и New и класса Form, а затем установите все требуемые свойства. Например:

Dim form2 As New Form
form2.Text = "My New Form"
Отобразить форму на экране

Используйте метод Show или ShowDialog. Например:

form2.ShowDialog()
Поместить загрузочную форму на рабочем столе Windows Установите свойство StartPosition на одно из возможных значений, таких, как CenterScreen или CenterParent.
Задать размер и положение загрузочный формы на рабочем столе Windows с помощью кода

Установите StartPosition на значение Manual, объявите структуру Rectangle, которая определяет размер и положение формы, а затем используйте свойство DesktopBounds для задания размера и положения формы на рабочем столе. Например:

form2.StartPosition = FormStartPosition.Manual
Dim Form2Rect As New Rectangle _
(200, 100, 300, 250)
form2.DesktopBounds = Form2Rect
Минимизировать, максимизировать или восстановить размер формы во время выполнения программы При разработке формы установите ее свойства MaximizeBox и MinimizeBox формы на значение True. В коде, чтобы изменить состояние окна формы, установите свойство формы WindowState на значение FormWindowState.Minimized, FormWindowState.Maximized или FormWindowState.Normal.
Добавить в форму элементы управления во время выполнения программы

Создайте элемент управления требуемого типа, установите его свойства, а затем добавьте его в коллекцию Controls формы. Например:

Dim button1 as New Button
button1.Text = "Нажми меня"
button1.Location = New Point(20, 25)
form2.Controls.Add(button1)
Закрепить объект на определенном расстоянии от указанных краев формы

Установите свойство Anchor объекта и укажите края, расстояния до которых вы хотите сохранить неизменными. При указании нескольких краев используйте оператор Or. Например:

Button1.Anchor = AnchorStyles.Bottom Or _
AnchorStyles.Right
Прикрепить объект к одному из краев формы

Установите свойство Dock этого объекта и укажите край, к которому вы хотите прикрепить объект. Например:

PictureBox1.Dock = DockStyle.Top
Указать загрузочный объект проекта Щелкните в Обозревателе решений на значке проекта, а затем щелкните на Properties (Свойства) в меню Project (Проект). В раскрывающемся списке Startup Object (Начальный объект) укажите загрузочный объект. (Выберите либо форму проекта, либо процедуру Sub Main.)
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Светлана Ведяева
Светлана Ведяева
Россия, Саратов