Отключение обработчиков событий. Обработка событий в иерархии наследования.
Обработчики событий, динамически назначаемые командой AddHandler, отключаются командой RemoveHandler, которой должны передаваться точно такие же аргументы, как и при соответствующем вызове AddHandlеr.
Обычно для удаления динамически назначаемых обработчиков хорошо подходит метод Dispose. По этой причине в каждом классе, использующем динамическое назначение обработчиков, рекомендуется реализовать интерфейс IDisposable – это напомнит пользователям класса о необходимости вызова Dispose.
Обработка событий в иерархии наследования
Производный класс может в любой момент инициировать открытые или защищенные события своего базового класса, при этом событие идентифицируется ключевым словом MyBase. Кроме того, производные классы автоматически наследуют все обработчики открытых и защищенных событий своих предков.
Время от времени в производном классе возникает необходимость в переопределении методов, используемых при обработке открытых и защищенных событий базового класса. Для этой цели используется конструкция Handles MyBase. Пример:
Public Class ParentClass Public Event ParentEventtByVal aThing As Object. ByVal E As System.EventArgs) ' Программный код End Class ' Производный класс Public Class ChildClass Inherits ParentClass Sub EventHandler(ByVal x As Integer) Handles MyBase ParentEvent 'Обработка событий базового класса End Sub End Class