Размеры элементов и их позиционирование в контейнере

Последнее обновление: 31.10.2015

Позиционирование

Для каждого элемента управления мы можем определить свойство Location, которое задает координаты верхнего левого угла элемента относительно контейнера. При переносе элемента с панели инструментов на форму это свойство устанавливается автоматически. Однако потом в окне Свойств мы можем вручную поправить координаты положения элемента:

Положение элемента на форме

Также мы можем установить позицию элемента в коде:

private void Form1_Load(object sender, EventArgs e)
{
    button1.Location = new Point(50, 50);
}

Установка размеров

С помощью свойства Size можно задать размеры элемента:

размеры элемента в Windows Forms

Дополнительные свойства MaximumSize и MinimumSize позволяют ограничить минимальный и максимальный размеры.

Установка свойств в коде:

button1.Size = new Size { Width = 50, Height = 25 };
// установка свойств по отдельности
button1.Width = 100;
button1.Height = 35;

Свойство Anchor

Дополнительные возможности по позиционировании элемента позволяет определить свойство Anchor. Это свойство определяет расстояние между одной из сторон элемента и стороной контейнера. И если при работе с контейнером мы будем его растягивать, то вместе с ним будет растягиваться и вложенный элемент.

По умолчанию у каждого добавляемого элемента это свойство равно Top, Left:

Свойство Anchor

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

Мы можем задать четыре возможных значения для этого свойства или их комбинацию:

  • Top

  • Bottom

  • Left

  • Right

Например, если мы изменим значение этого свойства на противоположное - Bottom, Right, тогда у нас будет неизменным расстояние между правой и нижней стороной элемента и формой.

При этом надо отметить, что данное свойство учитывает расстояние до границ контейнера, а не формы. То есть если у нас на форме есть элемент Panel, а на Panel расположена кнопка, то на кнопку будет влиять изменение границ Panel, а не формы. Растяжение формы будет в этом случае влиять только, если оно влияет на контейнер Panel.

Чтобы задать это свойство в коде, надо использовать перечисление AnchorStyles:

button1.Anchor = AnchorStyles.Left;
// задаем комбинацию значений
button1.Anchor = AnchorStyles.Left | AnchorStyles.Top;

Свойство Dock

Свойство Dock позволяет прикрепить элемент к определенной стороне контейнера. По умолчанию оно имеет значение None, но также позволяет задать еще пять значений:

Свойство Dock в Windows Forms
  • Top: элемент прижимается к верхней границе контейнера

  • Bottom: элемент прижимается к нижней границе контейнера

  • Left: элемент прижимается к левой стороне контейнера

  • Right: элемент прикрепляется к правой стороне контейнера

  • Fill: элемент заполняет все пространство контейнера

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850