Поделиться через


Практическое руководство. Установка расположения форм Windows Forms на экране

Обновлен: Ноябрь 2007

Чтобы указать место расположения формы на экране компьютера, можно задать значения для свойства Location. Это свойство определяет положение верхнего левого угла формы (в точках). Также необходимо задать свойство StartPosition, чтобы определить границы отображаемой области.

52aha046.alert_note(ru-ru,VS.90).gifПримечание.

Помните, что размер экрана и разрешение очень часто различаются в зависимости от системы пользователя. Помимо этого на системах с несколькими мониторами могут возникнуть трудности при определении границ отображаемой области. Эти две ситуации довольно часто будут приводить к непредсказуемому расположению формы, несмотря на значение свойства Location. По этой причине значение по умолчанию для свойства StartPosition в приложении Windows – WindowsDefaultLocation. Это значение приводит к тому, что операционная система сама вычисляет наилучшее расположение формы при запуске на основе существующего оборудования. Другой способ – задать для свойства StartPosition значение Center и затем изменять расположение формы в коде. См. раздел "Чтобы задать положение формы программными средствами", приведенный ниже.

Чтобы задать положение форм с помощью окна "Свойства"

  1. В окне Свойства выберите форму из раскрывающегося списка. Присвойте свойству StartPosition формы значение Manual.

  2. Задайте значения для свойства Location, разделенные запятыми, чтобы определить положение формы. Первое значение (X) – расстояние от левой границы площади отображения, а второе значение (Y) – расстояние от верхней границы площади отображения.

    52aha046.alert_note(ru-ru,VS.90).gifПримечание.

    Разверните свойство Location, чтобы ввести значения свойств X и Y по отдельности.

Чтобы задать положение формы программными средствами

  • Определите расположение формы во время выполнения, присвоив свойству Location формы значение Point, как показано в следующем примере.

    Form1.Location = New Point(100, 100)
    
    Form1.Location = new Point(100, 100);
    
    Form1.set_Location(new Point(100, 100));
    
    Form1->Location = Point(100, 100);
    

    либо

    Измените координату X или координату Y расположения формы с помощью подчиненных свойств Left (для координаты X) и Top (для координаты Y). В следующем примере для координаты X формы задается значение 300 пикселов.

    Form1.Left = 300
    
    Form1.Left = 300;
    
    Form1.set_Left(300);
    
    Form1->Left = 300;
    

Чтобы изменить положение формы с шагом программными средствами

  • Увеличьте значение координаты X элемента управления с помощью свойства Left. В следующем примере значение координаты X формы изменяется на 200 пикселов.

    Form1.Left += 200
    
    Form1.Left += 200;
    
    Form1.set_Left(Form1.get_Left() + 200);
    
    Form1->Left += 200;
    
    52aha046.alert_note(ru-ru,VS.90).gifПримечание.

    Для одновременного задания значений координат X и Y формы Windows Forms используйте свойство Location. Чтобы задать положение по каждой координате отдельно, используйте свойство Left (X) или Top (Y). Не пытайтесь неявно задать координаты X и Y структуры Point, которая определяет расположение формы, потому что эта структура содержит копию координат формы.

    Вместо свойства Location можно использовать свойство DesktopLocation для задания расположения формы. С помощью этого свойства можно определить расположение формы относительно панели задач. Это полезно в том случае, если панель задач закреплена на экране пользователя сверху или слева. Закрепление панели задач таким способом скрывает координаты рабочего стола (0,0). Форма, для которой свойство DesktopLocation имеет значение (0,0), всегда появляется в верхнем левом углу основного монитора, перед панелью задач.

Чтобы задать свойство DesktopLocation программными средствами

  • Значение свойства DesktopLocation задается так же, как и значение любого другого свойства. В следующем примере задается новое положение формы "Accounts".

    Dim frmAccounts as new Form()
    Set FrmAccounts.DesktopLocation = new Point(100,100)
    
    Form frmAccounts= new Form();
    frmAccounts.DesktopLocation = new Point(100,100);
    
    Form frmAccounts =  new Form();
    frmAccounts.set_DesktopLocation(new Point(100, 100));
    
    Form^ frmAccounts= gcnew Form();
    frmAccounts->DesktopLocation = Point(100,100);
    
    52aha046.alert_note(ru-ru,VS.90).gifПримечание.

    Свойство DesktopLocation не отображается в окне "Свойства" и может быть задано только в коде.

См. также

Ссылки

Общие сведения о Windows Forms

Другие ресурсы

Создание новой формы Windows Forms

Расположение элементов управления в формах Windows Forms