Для каждого элемента управления мы можем определить свойство Location
, которое задает координаты верхнего левого угла элемента относительно контейнера.
При переносе элемента с панели инструментов на форму это свойство устанавливается автоматически. Однако потом в окне Свойств мы можем вручную поправить
координаты положения элемента:
Также мы можем установить позицию элемента в коде:
private void Form1_Load(object sender, EventArgs e) { button1.Location = new Point(50, 50); }
С помощью свойства Size можно задать размеры элемента:
Дополнительные свойства MaximumSize
и MinimumSize
позволяют ограничить минимальный и максимальный размеры.
Установка свойств в коде:
button1.Size = new Size { Width = 50, Height = 25 }; // установка свойств по отдельности button1.Width = 100; button1.Height = 35;
Дополнительные возможности по позиционировании элемента позволяет определить свойство Anchor. Это свойство определяет расстояние между одной из сторон элемента и стороной контейнера. И если при работе с контейнером мы будем его растягивать, то вместе с ним будет растягиваться и вложенный элемент.
По умолчанию у каждого добавляемого элемента это свойство равно Top, Left
:
Это значит, что если мы будем растягивать форму влево или вверх, то элемент сохранит расстояние от левой и верхней границы элемента до границ контейнера, в качестве которого выступает форма.
Мы можем задать четыре возможных значения для этого свойства или их комбинацию:
Top
Bottom
Left
Right
Например, если мы изменим значение этого свойства на противоположное - Bottom, Right
, тогда у нас будет неизменным расстояние между правой и нижней стороной элемента и формой.
При этом надо отметить, что данное свойство учитывает расстояние до границ контейнера, а не формы. То есть если у нас на форме есть элемент Panel, а на Panel расположена кнопка, то на кнопку будет влиять изменение границ Panel, а не формы. Растяжение формы будет в этом случае влиять только, если оно влияет на контейнер Panel.
Чтобы задать это свойство в коде, надо использовать перечисление AnchorStyles:
button1.Anchor = AnchorStyles.Left; // задаем комбинацию значений button1.Anchor = AnchorStyles.Left | AnchorStyles.Top;
Свойство Dock позволяет прикрепить элемент к определенной стороне контейнера. По умолчанию оно имеет значение None, но также позволяет задать еще пять значений:
Top
: элемент прижимается к верхней границе контейнера
Bottom
: элемент прижимается к нижней границе контейнера
Left
: элемент прижимается к левой стороне контейнера
Right
: элемент прикрепляется к правой стороне контейнера
Fill
: элемент заполняет все пространство контейнера