Опубликован: 31.08.2006 | Уровень: специалист | Доступ: платный
Лекция 16:

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

Установка свойства DesktopBounds

  1. Используйте элемент управления Button и добавьте в форму объект кнопки, а затем измените свойство Text этого объекта кнопки на Создать форму.
  2. Чтобы отобразить в Редакторе кода процедуру события Button1_Click, сделайте двойной щелчок мышью на кнопке Создать форму.
  3. Введите следующий код программы:

    'Создаем вторую форму с именем form2
    Dim form2 As New Form
    
    'Определяем свойство Text и стиль границ формы
    form2.Text = "Моя новая форма"
    form2.FormBorderStyle = FormBorderStyle.FixedDialog
    'Указываем, что положение формы устанавливается вручную
    form2.StartPosition = FormStartPosition.Manual
    
    'Объявляем структуру Rectangle, хранящую размеры формы
    'Верхний левый угол формы (200, 100)
    'Ширина и высота формы (300, 250)
    Dim Form2Rect As New Rectangle(200, 100, 300, 250)
    
    'Устанавливаем границы формы с помощью этого объекта Rectangle
    form2.DesktopBounds = Form2Rect
    
    'Отображаем форму как модальное диалоговое окно
    form2.ShowDialog()

    Когда пользователь щелкает на кнопке Создать форму, эта процедура события создает новую форму с заголовком "Моя новая форма" и фиксированным стилем границ. Чтобы создать новую форму с помощью кода программы, необходимо использовать оператор Dim, а также указать имя переменной формы и класс Form, который автоматически включается в проект как часть пространства имен System.Windows.Forms. Затем установите свойства Text, FormBorderStyle, StartPosition и DesktopBounds. Свойство StartPosition устанавливается на значение FormStartPosition.Manual, что указывает, что положение формы задается вручную. Свойство DesktopBounds задает размеры и положение формы и в качестве аргумента требует тип Rectangle. Тип Rectangle - это структура, которая определяет прямоугольный регион и автоматически включается в проекты на Visual Basic. С помощью оператора Dim объявляется переменная Form2Rect типа Rectangle и инициализируется значениями размеров и положения формы. В конце этой процедуры события новая форма с помощью метода ShowDialog открывается как диалоговое окно.

  4. Чтобы запустить программу, щелкните на кнопке Start (Начать).

    Примечание. Готовая программа Desktop Bounds лежит в папке c:\vbnet03sbs\Гл.15\desktop bounds.

    Visual Basic отображает на рабочем столе первую форму.

  5. Щелкните на кнопке Создать форму. Visual Basic отображает показанное ниже диалоговое окно Моя новая форма, имеющее размеры и положение, указанные вами в коде программы.


    Обратите внимание, что нельзя изменить размер второй формы из-за того, что свойство FormBorderStyle было установлено на значение FixedDialog.

  6. Закройте вторую форму, а затем первую форму. Ваша программа завершит выполнение, и вернется среда разработки.

Минимизация, максимизация и восстановление размеров окон

В дополнение к установке размера и расположения формы Visual Basic, вы можете минимизировать форму на панель задач Windows, максимизировать форму так, что она займет весь экран, или восстановить ее нормальный размер. Эти настройки могут быть изменены либо во время разработки, либо во время выполнения в зависимости от текущих значений в программе.

Чтобы максимизировать или минимизировать форму, проверьте, что доступны кнопки формы для максимизации и минимизации. С помощью окна Properties (Свойства) или кода программы укажите следующие настройки:

MaximizeBox = True
MinimizeBox = True

Затем в коде программы или с помощью окна Properties (Свойства) установите свойство WindowState формы на значение Minimized, Maximized или Normal. Если вы используете код, добавьте константу FormWindowState, как показано ниже. Например, следующий оператор программы минимизирует форму и помещает ее на панель задач Windows:

WindowState = FormWindowState.Minimized

Чтобы управлять максимально и минимально возможными размерами формы, с помощью окна Properties (Свойства) установите при разработке формы свойства MaximumSize или MinimumSize. Чтобы установить MaximumSize и MinimumSize в коде, используйте структуру Size, показанную ниже, которая аналогична структуре Rectangle, использовавшейся в предыдущем упражнении:

Dim FormSize As New Size(400, 300)
MaximumSize = FormSize
Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

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

Виталий Григорьев
Виталий Григорьев
Россия, москва, мгсги, 2011
Надежда Серекпаева
Надежда Серекпаева
Россия, Тюмень, Тюменский индустриальный институт, 1992