Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса Control и поэтому имеют ряд общих свойств:
Anchor: Определяет, как элемент будет растягиваться
BackColor: Определяет фоновый цвет элемента
BackgroundImage: Определяет фоновое изображение элемента
ContextMenu: Контекстное меню, которое открывается при нажатии на элемент правой кнопкой мыши. Задается с помощью элемента ContextMenu
Cursor: Представляет, как будет отображаться курсор мыши при наведении на элемент
Dock: Задает расположение элемента на форме
Enabled: Определяет, будет ли доступен элемент для использования. Если это свойство имеет значение False, то элемент блокируется.
Font: Устанавливает шрифт текста для элемента
ForeColor: Определяет цвет шрифта
Location: Определяет координаты верхнего левого угла элемента управления
Name: Имя элемента управления
Size: Определяет размер элемента
Width: ширина элемента
Height: высота элемента
TabIndex: Определяет порядок обхода элемента по нажатию на клавишу Tab
Tag: Позволяет сохранять значение, ассоциированное с этим элементом управления
Наиболее часто используемым элементом управления является кнопка. Обрабатывая событие нажатия кнопки, мы может производить те или иные действия.
При нажатии на кнопку на форме в редакторе Visual Studio мы по умолчанию попадаем в код обработчика события Click
,
который будет выполняться при нажатии:
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hello World"); }
Чтобы управлять внешним отображением кнопки, можно использовать свойство FlatStyle. Оно может принимать следующие значения:
Flat - Кнопка имеет плоский вид
Popup - Кнопка приобретает объемный вид при наведении на нее указателя, в иных случаях она имеет плоский вид
Standard - Кнопка имеет объемный вид (используется по умолчанию)
System - Вид кнопки зависит от операционной системы
Как и для многих элементов управления, для кнопки можно задавать изображение с помощью свойства BackgroundImage. Однако мы можем также управлять размещением текста и изображения на кнопки. Для этого надо использовать свойство TextImageRelation. Оно приобретает следующие значения:
Overlay: текст накладывается на изображение
ImageAboveText: изображение располагается над текстом
TextAboveImage: текст располагается над изображением
ImageBeforeText: изображение располагается перед текстом
TextBeforeImage: текст располагается перед изображением
Например, установим для кнопки изображение. Для этого выберем кнопку и в окне Свойств нажмем на поле Image (не путать с BackgroundImage). Нам откроется диалоговое окно установи изображения:
В этом окне выберем опцию Local Resource
и нажмем на кнопку Import
, после чего нам откроется диалоговое окно для выбора файла изображения.
После выбора изображения мы можем установить свойство ImageAlign, которое управляет позиционированием изображения на кнопке:
Нам доступны 9 вариантов, с помощью которых мы можем прикрепить изображение к определенной стороне кнопки. Оставим здесь значение по умолчанию - MiddleCenter
,
то есть позиционирование по центру.
Затем перейдем к свойству TextImageRelation
и установим для него значение ImageBeforeText
. В итоге мы получим кнопку,
где сразу после изображения идет надпись на кнопке:
При работе с формами при использовании клавиатуры очень удобно пользоваться клавишами быстрого доступа. При нажатии на клавиатуре комбинации
клавиш At+некоторый символ, будет вызываться определенная кнопка. Например, зададим для некоторой кнопки свойство Text равное &Аватар
.
Первый знак - амперсанд - определяет ту букву, которая будет подчеркнута. В данном случае надпись будет выглядеть как
Аватар. И теперь чтобы вызвать событие Click, нам достаточно нажать на комбинацию клавиш Alt+А.
Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.
Так, свойство формы AcceptButton
позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.
Аналогично работает свойство формы CancelButton
, которое назначает кнопку отмены. Назначив такую кнопку, мы можем вызвать ее нажатие,
нажав на клавишу Esc.