Элементы управления
Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса 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)
Оформление кнопки
Чтобы управлять внешним отображением кнопки, можно использовать свойство 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.
Overview of using controls (Windows Forms .NET)
Windows Forms controls are reusable components that encapsulate user interface functionality and are used in client-side, Windows-based applications. Not only does Windows Forms provide many ready-to-use controls, it also provides the infrastructure for developing your own controls. You can combine existing controls, extend existing controls, or author your own custom controls. For more information, see Types of custom controls.
The Desktop Guide documentation for .NET 7 and .NET 6 is under construction.
Adding controls
Controls are added through the Visual Studio Designer. With the Designer, you can place, size, align, and move controls. Alternatively, controls can be added through code. For more information, see Add a control (Windows Forms).
Layout options
The position a control appears on a parent is determined by the value of the Location property relative to the top-left of the parent surface. The top-left position coordinate in the parent is (x0,y0) . The size of the control is determined by the Size property and represents the width and height of the control.
Besides manual positioning and sizing, various container controls are provided that help with automatic placement of controls.
Control events
Controls provide a set of common events through the base class: Control. Not every control responds to every event. For example, the Label control doesn’t respond to keyboard input, so the Control.PreviewKeyDown event isn’t raised. Most shared events fall under these categories:
Control accessibility
Windows Forms has accessibility support for screen readers and voice input utilities for verbal commands. However, you must design your UI with accessibility in mind. Windows Forms controls expose various properties to handle accessibility. For more information about these properties, see Providing Accessibility Information for Controls.
See also
Обратная связь
Отправить и просмотреть отзыв по