Представляет метод со стандартной сигнатурой, предназначенный для обработки события, не содержащего дополнительной информации.
Объявляется следующим образом:
public delegate void EventHandler(object sender, EventArgs e);
Параметры
object sender //Представляет ссылку на объект-источник события.
EventArgs e // Таким образом кодируется информация о событии.
Замечание
Модель событий в .NET Framework основывается на механизме ссылок на функции (events – разновидности класса-делегата), которые обеспечивают стандартную стыковку события с обработчиком. Для возбуждения события необходимы два элемента:
Класс-носитель информации о событии. Должен наследовать от базового класса EventArgs.
Делегат, настроенный на метод, обеспечивающий реакцию на данное событие. Когда создаётся делегат-представитель класса-делегата EventHandler, прежде всего, определяется соответствующий метод, выполнение которого обеспечивает реакцию на событие.
Таким образом, для реализации перехвата события достаточно использовать:
1. для идентификации события. Базовый класс EventArgs, если уведомление о произошедшем событии не связано с генерацией дополнительной информации или производный от данного класса класс, если необходимо передавать дополнительную информацию, связанную с событием,
2. предопределённый класс EventHandler для реализации ссылки на метод-обработчик события.
Пример
using System;
namespace Events00
{
// Однопоточное приложение, в котором для реализации механизма
// реакции на события используется стандартный класс-делегат
// System.EventHandler.
// Объявляется класс события, производный от System.EventArgs.