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