572.05K
Category: programmingprogramming

Работа с элементами управления. Обработка событий. Работа с контейнерными элементами управления

1.

Лекция3
Работа с элементами управления Обработка событий. Работа с
контейнерными элементами управления.

2.

Создание непрямоугольных форм в C#
В Windows Forms по умолчанию все формы имеют прямоугольную
форму, но с помощью свойств и методов можно создать формы
любой формы, например, круг или любую произвольную фигуру.
Для этого используются такие возможности, как Region и
GraphicsPath.

3.

Обработка события Click
Событие Click возникает, когда пользователь нажимает на элемент управления,
например кнопку. Для обработки этого события нужно назначить метод, который
будет вызываться при нажатии на элемент.
// Создание кнопки Button myButton = new Button(); myButton.Text = "Нажми
меня";
myButton.Click += new EventHandler(MyButton_Click);
// Метод обработки события Click
private void MyButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Кнопка была нажата!");
}

4.

Cобытия DoubleClick
Событие DoubleClick в C# используется для обработки двойного щелчка мыши на
элементе управления, таком как кнопка, форма или любое другое окно. Это событие
удобно использовать, когда необходимо выполнить определённое действие, например,
открытие файла или запуск программы, при двойном щелчке по элементу.
Событие DoubleClick может быть заблокировано, если Click уже
обработало одиночный щелчок. Поэтому иногда важно следить за
тем, что выполняется в обработчике события Click, чтобы избежать
конфликтов.

5.

Обработка события MouseMove
Событие MouseMove возникает, когда пользователь перемещает указатель мыши
над элементом управления. Данное событие часто используется для создания
интерактивных эффектов, например, выделения элементов при наведении курсора.

6.

Cобытий Enter и Leave
Хотя события GotFocus и LostFocus работают, часто более надёжными являются
события Enter и Leave, так как они дают более предсказуемые результаты.
Событие Enter
Событие Enter возникает, когда элемент управления получает фокус. Оно может быть
вызвано при наведении курсора мыши, с помощью клавиши Tab или программно.
Событие Leave
Событие Leave возникает, когда элемент управления теряет фокус. Обычно оно используется для того,
чтобы вернуть элемент в его исходное состояние после того, как пользователь переместил фокус на
другой элемент.

7.

Событие MouseDoubleClick в C# возникает, когда пользователь дважды щёлкает мышью по
элементу управления, например, по кнопке, текстовому полю, панели или любому другому
элементу интерфейса, который поддерживает это событие. В отличие от обычного клика
(MouseClick), это событие срабатывает при двойном нажатии кнопки мыши.
MouseDoubleClick: Это событие более детализировано. Оно срабатывает при двойном клике
мыши и предоставляет дополнительные данные через объект MouseEventArgs, включая
информацию о нажатой кнопке мыши (левая, правая или средняя), количестве щелчков и
координатах мыши.

8.

Событие MouseEnter в C# срабатывает, когда указатель мыши входит в пределы элемента
управления, то есть, когда курсор перемещается на область элемента (например, кнопку, текстовое
поле или панель). Это событие полезно для создания визуальных эффектов, таких как изменение цвета
элемента при наведении курсора.
Событие MouseLeave в C# возникает, когда указатель мыши покидает пределы элемента управления,
на котором оно подписано. Это событие часто используется в комбинации с событием MouseEnter для
создания интерактивных эффектов, таких как изменение цвета элемента при наведении и возврат его в
исходное состояние при уходе курсора.

9.

Событие CheckedChanged в C# используется в элементах управления,
которые поддерживают состояние "выбрано/не выбрано" (например, в
элементах CheckBox и RadioButton). Это событие срабатывает каждый
раз, когда значение свойства Checked элемента изменяется — то есть,
когда элемент отмечается или снимается.

10.

Работа с контейнерными элементами
управления
Элемент управления Panel в C# является контейнером, который используется
для группировки других элементов управления на форме. Он позволяет
структурировать интерфейс приложения, объединяя элементы в логические блоки,
которые можно легко перемещать, скрывать, отображать или изменять их свойства
одновременно. Panel сам по себе не имеет интерактивности, как, например,
кнопки или текстовые поля — его основная задача заключается в размещении и
управлении дочерними элементами.

11.

Основные особенности Panel:
•Группировка элементов: Внутри панели можно размещать
другие элементы управления (кнопки, метки, текстовые поля и т.д.),
что упрощает организацию интерфейса.
•Прокрутка содержимого: Если содержимое панели превышает
её размер, можно включить прокрутку с помощью свойства
AutoScroll.
•Гибкость в расположении: Панель можно легко перемещать по
форме, а элементы внутри неё можно размещать в разных
конфигурациях (фиксированное положение, привязка и т.д.).

12.

Свойства Panel:
•Controls: Коллекция элементов, которые находятся внутри панели.
•AutoScroll: Позволяет автоматически включать прокрутку, если содержимое
панели больше её размеров.
•BorderStyle: Определяет стиль границы панели (например, None, FixedSingle,
Fixed3D).
•BackColor: Определяет цвет фона панели.
•Dock и Anchor: Свойства для привязки панели к краям формы или для
закрепления её размера при изменении размера формы.

13.

Пример

14.

GroupBox — это контейнер в Windows Forms, который
позволяет группировать несколько элементов управления
(например, кнопки, текстовые поля, переключатели) в одну
логическую группу. Внешне GroupBox отображается как
прямоугольная рамка с заголовком. Часто используется для
объединения связанных по смыслу элементов, таких как
наборы кнопок RadioButton или CheckBox.

15.

Основные особенности GroupBox:
1.Группировка элементов управления: Все элементы, которые
находятся внутри GroupBox, считаются частью одной группы. Например,
это полезно при работе с несколькими RadioButton, когда нужно, чтобы из
каждой группы можно было выбрать только один вариант.
2.Заголовок группы: GroupBox отображает текст заголовка, который
описывает содержание группы элементов управления.
3.Наследование свойств от контейнера: Все элементы внутри
GroupBox наследуют его визуальные свойства, такие как фон, шрифты, цвет
текста и т.д.

16.

Пример

17.

Свойства GroupBox:
•Text: Заголовок группы, который отображается на рамке.
groupBox.Text = "Заголовок";
•Enabled: Определяет, активен ли контейнер и его дочерние элементы. Если свойство Enabled
установить в false, все элементы внутри GroupBox станут неактивными.
groupBox.Enabled = false;
•Visible: Управляет видимостью GroupBox и всех элементов внутри него.
groupBox.Visible = false;
•Size и Location: Свойства для изменения размера и расположения GroupBox на форме.
groupBox.Size = new Size(200, 100); groupBox.Location = new Point(10, 10);
•Controls: Коллекция всех элементов, которые находятся внутри GroupBox. Вы можете
добавлять или удалять элементы из этой коллекции.
groupBox.Controls.Add(new Button());

18.

TabControl — это элемент управления в C#, который позволяет организовать
интерфейс приложения в виде вкладок. Каждая вкладка (страница) может
содержать другие элементы управления, и пользователи могут переключаться
между ними, выбирая нужную вкладку. Это удобно для создания
многостраничных интерфейсов, где каждую категорию или раздел можно
оформить на отдельной вкладке.
Основные особенности TabControl:
1.Вкладки: Элемент состоит из одной или нескольких вкладок (TabPage),
каждая из которых может содержать элементы управления.
2.Простота навигации: Пользователи могут переключаться между
вкладками, что делает интерфейс более удобным и организованным.
3.Поддержка нескольких страниц: Каждая вкладка является независимой
страницей, которая может содержать текстовые поля, кнопки, изображения
и другие элементы управления.

19.

Основные свойства TabControl:
•TabPages: Коллекция всех вкладок (TabPage), содержащихся в TabControl.
•SelectedIndex: Индекс активной вкладки (номер выбранной вкладки).
•SelectedTab: Активная вкладка (выбранная страница).
•Dock: Определяет, как элемент управления будет привязан к краям
контейнера (например, к форме).
•Alignment: Указывает расположение вкладок (Top, Bottom, Left, Right).
•Appearance: Определяет, как вкладки будут выглядеть (стандартный стиль,
кнопки и т.д.).

20.

Пример

21.

FlowLayoutPanel — это контейнерный элемент управления в C#, который
автоматически размещает дочерние элементы в одном ряду (горизонтально) или
в одном столбце (вертикально). Если элементы не помещаются в контейнер, они
автоматически переносятся на новую строку или столбец. Это делает
FlowLayoutPanel удобным для создания динамически изменяющихся
интерфейсов, где размеры и расположение элементов могут меняться.
Свойства FlowLayoutPanel:
•FlowDirection: Определяет направление размещения элементов (по умолчанию —
слева направо). Варианты: LeftToRight, TopDown, RightToLeft, BottomUp.
•WrapContents: Определяет, будут ли элементы переноситься на следующую строку
или столбец при переполнении. Если значение false, элементы будут выходить за
пределы панели без переноса.
•AutoScroll: Если установлено значение true, панель будет автоматически добавлять
полосы прокрутки, если содержимое превышает размеры панели.
•Padding и Margin: Управляют внутренними и внешними отступами между
элементами в панели.
flowLayoutPanel.Padding = new Padding(10);

22.

Пример

23.

TableLayoutPanel
TableLayoutPanel — это контейнер в Windows Forms, который позволяет
организовать элементы управления в виде таблицы. Он автоматически размещает
дочерние элементы управления в ячейках, распределённых по строкам и столбцам.
Это очень удобно, если вам нужно создать интерфейс с точным позиционированием
элементов, где каждый элемент должен находиться в определённой ячейке.
Основные особенности TableLayoutPanel:
1.Организация в виде таблицы: TableLayoutPanel позволяет задавать точное количество строк и
столбцов и размещать элементы управления в каждой ячейке таблицы.
2.Автоматическое изменение размеров: Ячейки могут автоматически изменять размер в
зависимости от содержимого или пропорционально доступному пространству.
3.Контроль над выравниванием и размещением: Можно задавать параметры
выравнивания элементов внутри ячеек, контролировать их размер и взаимное расположение.

24.

Основные свойства TableLayoutPanel:
•RowCount: Определяет количество строк в таблице.
•ColumnCount: Определяет количество столбцов в таблице.
•RowStyles и ColumnStyles: Позволяют задать размеры строк и столбцов. Могут
быть фиксированными, авторазмером или задаваться в процентах.
•CellBorderStyle: Определяет стиль границ ячеек таблицы (например, None,
Single, Inset).
•Dock и Anchor: Управляют привязкой TableLayoutPanel к краям формы или
контейнера.
•GrowStyle: Определяет поведение таблицы при добавлении новых строк или
столбцов (по умолчанию — AddRows).

25.

Пример

26.

СРОП
• ListBox, PictureBox, MonthCalendar
English     Русский Rules