this.button1.Click += new System.EventHandler(this.button1_Click); // Такой? Это подписка на событие.
События (events) похожи на исключения тем, что тоже генерируются, т. е. выдаются объектами, и тем, что для них тоже можно представлять реагирующий на них выполнением какого-нибудь действия код. Отличаются тем, что вместо структуры try…catch…finally на событие необходимо подписываться (subscribe). Под подпиской подразумевается предоставление кода, выполняемого при генерации события, в виде обработчика событий (event handler).
На событие можно подписывать несколько обработчиков. Обработчики могут являться как частью того класса объекта, который генерирует данное событие, так и частью других классов.
Обработчики событий представляют собой функции. Возвращаемый тип и параметры обязательно должны соответствовать тем, которые требует событие. Такое ограничение входит в состав определения события и задаётся делегатом.
Базовая последовательность обработки выглядит следующим образом: сначала приложение создаёт объект, который может генерировать событие. Далее приложение подписывается на событие. И, наконец, последнее: при генерации события вызываются метод (-ы) обработчика событий.
Для обработки события на него нужно подписываться, предоставляя функцию – обработчик событий, возвращаемый тип и параметры, совпадающие с возвращаемым типом и параметрами делегата, закреплённого для применения с этим событием.