Windows Forms позволяет создавать настольные приложения визуально, перетаскивая элементы пользовательского интерфейса на холст. Эти элементы пользовательского интерфейса включают виджеты, такие как кнопки, панели или флажки.

Каждый элемент пользовательского интерфейса получает определенные события. Например, у вас может быть событие щелчка для кнопок, событие изменения для флажков или событие перетаскивания для панелей.

События используют обработчики событий или функции, которые выполняются только тогда, когда происходит это конкретное событие.

Типы событий, используемых для различных элементов пользовательского интерфейса

Каждый элемент пользовательского интерфейса имеет список событий. Есть много курсов, где вы можете узнать о важных теориях и практиках UX или UI чтобы помочь вам решить, какие элементы пользовательского интерфейса использовать. Вот несколько примеров событий, используемых элементами пользовательского интерфейса.

События Key Down, Key Up или Key Press

Элементы пользовательского интерфейса, которые позволяют пользователю вводить текст, например текстовое поле, могут использовать эти события. Эти события запускаются каждый раз, когда пользователь нажимает клавишу на клавиатуре.

instagram viewer

Это может быть полезно в сценариях, где у вас есть функция поиска, и вам может потребоваться постоянно проверять значение текстового поля.

частныйпустотаtextBox1_KeyUp(отправитель объекта, KeyEventArgs e)
{
TextBox textbox = (TextBox) отправитель;
строка currentTextBoxValue = текстовое поле. Текст;
}

Загрузить событие

Событие загрузки происходит, когда форма или элемент пользовательского интерфейса отображаются на экране. Вы можете использовать это событие, если хотите, чтобы определенные функции выполнялись на этапе инициализации формы или элемента управления.

Один из сценариев, в котором это может быть полезно, — если вы хотите программно добавить элементы управления в форму, пока она еще загружается.

частныйпустотаForm1_Load(отправитель объекта, EventArgs e)
{
Подсказка toolTip1 = новый Подсказка();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = истинный;
toolTip1.SetToolTip (this.button1, "Моя кнопка1");
toolTip1.Всплывающее окно += это.ToolTip1_Popup;
}

Событие всплывающей подсказки происходит, когда вы наводите курсор на элемент пользовательского интерфейса в приложении, и появляется всплывающая подсказка. Аргументы, переданные в обработчик событий, позволяют вам получить доступ к данным о всплывающей подсказке, таким как ее текст или размер.

частныйпустотаToolTip1_Popup(отправитель объекта, PopupEventArgs e)
{
ToolTip tooltip = (ToolTip) отправитель;
строка tooltipText = всплывающая подсказка. Получить подсказку (кнопка1);
вар размер всплывающей подсказки = e. размер всплывающей подсказки;
}

Событие перетаскивания

Многие элементы пользовательского интерфейса могут использовать событие перетаскивания, включая панель, кнопку, графическое поле, групповое поле и т. д. Это событие запускается, когда пользователь перетаскивает файл в элемент пользовательского интерфейса.

частныйпустотаpanel1_DragDrop(отправитель объекта, DragEventArgs e)
{
строка[] файлы = (строка[])e. Данные. Получить данные (форматы данных. FileDrop, ЛОЖЬ);
}

События Mouse Over и Mouse Leave

Событие mouse over срабатывает, когда указатель мыши находится над элементом пользовательского интерфейса. Как только мышь уходит и перестает зависать над элементом, срабатывает событие ухода мыши.

частныйпустотаbutton1_MouseLeave(отправитель объекта, EventArgs e)
{
Кнопка Кнопка = (Кнопка) отправитель;
вар Текст кнопки = кнопка. Текст;
}

Отмечено измененное событие

Элементы пользовательского интерфейса, которые позволяют пользователю выбрать параметр, могут использовать событие Checked Changed. Это включает в себя радиокнопки и флажки. Функция срабатывает, когда вы устанавливаете или снимаете флажок.

частныйпустотаcheckBox1_CheckedChanged(отправитель объекта, EventArgs e)
{
Флажок CheckBox = (CheckBox) отправитель;
Состояние CheckState = флажок. Состояние проверки;
bool isChecked = флажок. Проверено;
}

Значение изменено, выбранное значение изменено или дата изменена

Событие изменения значения доступно для элементов пользовательского интерфейса, которые позволяют выбрать параметр для изменения значения. Сюда входят поля со списком, средства выбора даты и времени или календарь. Функция срабатывает, когда пользователь выбирает новое значение.

частныйпустотамесяцКалендарь1_DateChanged(отправитель объекта, DateRangeEventArgs e)
{
Календарь MonthCalendar = (MonthCalendar) отправитель;
вар сегодня = календарь. СегодняДата;
вар selectedDatesStart = e. Начинать;
вар selectedDatesEnd = e. Конец;
}

Событие нажатия кнопки

Функция обработчика события click срабатывает, когда вы нажимаете кнопку.

частныйпустотаbutton1_Click(отправитель объекта, EventArgs e)
{
Кнопка Кнопка = (Кнопка) отправитель;
строка textValue = кнопка. Текст;
}

Структура обработчика событий

Обработчики событий имеют два основных параметра: отправитель и объект события.

Отправитель — это ссылка на элемент или объект пользовательского интерфейса, вызвавший событие, например на кнопку, флажок или панель. Например, в событии изменения флажка отправителем будет флажок, на который нажал пользователь.

Параметр события содержит объект, в котором хранятся данные о произошедшем событии. Это могут быть координаты X и Y нажатия кнопки или положение мыши в момент срабатывания события.

частныйпустотаpanel1_DragDrop(отправитель объекта, DragEventArgs e)
{
// Доступ к свойствам элемента пользовательского интерфейса, вызвавшего событие
панель панель = (панель) отправитель;
панель. Включено = ЛОЖЬ;
// Доступ к данным из события
вар данные события = e. Данные;
}

Как создавать и использовать обработчики событий

Сначала создайте новый Приложение Winforms Forms в Visual Studio. Если вы новичок в Windows Forms, существует множество клонировать приложения, которые вы можете создавать во время изучения Windows Forms.

Обработчики событий на холсте

Вы можете создавать обработчики событий из окна свойств в правой части холста. После создания нового приложения Windows Forms создайте обработчик событий для элемента пользовательского интерфейса флажка. Это срабатывает, когда пользователь устанавливает или снимает флажок.

  1. Откройте меню панели инструментов слева от Visual Studio. Перетащите элемент пользовательского интерфейса флажка на холст.
  2. Выделите флажок на холсте.
  3. В окне свойств на правой панели щелкните значок желтой молнии, чтобы просмотреть список событий. Прокрутите вниз до ПровереноИзменено мероприятие.
  4. Нажмите на пустое место рядом с ПровереноИзменено мероприятие. Это автоматически сгенерирует новую функцию для обработки события. Функция будет создана в части кода программной части приложения, в вашем CS-файл.
    частныйпустотаcheckBox1_CheckedChanged(отправитель объекта, EventArgs e)
    {
    // Ваш код здесь
    }

Обработчики событий, использующие программный код

Создайте новую функцию в коде позади и свяжите ее с элементом пользовательского интерфейса на холсте.

  1. На холсте щелкните и перетащите элемент пользовательского интерфейса кнопки. По умолчанию имя новой кнопки будет «button1».
  2. Открытым .cs. Если вы оставили имя приложения Windows Form по умолчанию «Form1», это будет Form1.cs.
  3. Внутри класса Form1 создайте новую функцию. Убедитесь, что он соответствует структуре обработчика событий и имеет два параметра для отправителя и объекта события.
    частныйпустотаbutton1_MouseHoverEvent(отправитель объекта, EventArgs e)
    {
    // Ваш код здесь
    }
  4. Свяжите обработчик событий с событием наведения мыши на button1. Это можно сделать в конструкторе.
    публичный Форма1()
    {
    ИнициализироватьКомпонент();
    это.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Кроме того, вы также можете связать функцию с событием, используя окно свойств на холсте. Откройте окно свойств и введите имя вашего обработчика событий в поле MouseHover. Это было бы button1_MouseHoverEvent.

Как использовать один и тот же обработчик событий для нескольких событий

Вы можете связать одну и ту же функцию с несколькими событиями. В этом случае, если бы была единственная функция с именем Событие мыши, вы можете добавить этот обработчик событий как к событию наведения мыши, так и к событию щелчка мыши. Затем это обработает оба события, используя одну и ту же функцию.

это.button1.MouseHover += button1_MouseEvent;
это.button1.MouseClick += button1_MouseEvent;

Использование событий в приложении Windows Form

Приложение Windows Forms позволяет перетаскивать на холст различные элементы пользовательского интерфейса, такие как кнопки, панели или текстовые поля. Вы можете добавить обработчики событий к этим элементам пользовательского интерфейса в зависимости от различных событий, которые могут произойти в приложении.

Если вы создаете приложение Windows, вы также можете добавить изображения или графику как часть пользовательского интерфейса. Вы можете использовать различные классы C#, такие как классы Graphics, Pen или Color, которые позволят вам рисовать на холсте различные типы фигур.