Handles
Обновлен: Ноябрь 2007
Объявляет, что процедура обрабатывает указанное событие.
proceduredeclaration Handles eventlist
Компоненты
proceduredeclaration
Объявление подпрограммы Sub для процедуры, которая будет обрабатывать ошибку.eventlist
Список событий для proceduredeclaration для обработки. Это событие должно вызываться либо базовым классом текущего класса, либо объектом, объявленным с помощью ключевого слова WithEvents.
Заметки
Используйте ключевое слово Handles в конце объявления процедуры, чтобы задать ее для обработки событий, вызванных переменной объекта, которая объявлена с помощью ключевого слова WithEvents. Ключевое слово Handles также может быть использовано в производном классе для обработки событий базового класса.
Подпись процедуры должна соответствовать подписи каждого события в eventlist.
Ключевое слово Handles и оператор AddHandler позволяют задать конкретные процедуры обработки определенных событий, но между ними существуют различия. Ключевое слово Handles используется при определении процедуры, чтобы указать, что она будет обрабатывать конкретное событие. Оператор AddHandler подключает процедуры для событий во время выполнения. Дополнительные сведения см. в разделе Оператор AddHandler.
Для пользовательских событий приложение вызывает метод доступа AddHandler события при добавлении процедуры в качестве обработчика событий. Дополнительные сведения о пользовательских событиях см. в разделе Оператор Event.
Пример
Public Class ContainerClass
' Module or class level declaration.
WithEvents Obj As New Class1
Public Class Class1
' Declare an event.
Public Event Ev_Event()
Sub CauseSomeEvent()
' Raise an event.
RaiseEvent Ev_Event()
End Sub
End Class
Sub EventHandler() Handles Obj.Ev_Event
' Handle the event.
MsgBox("EventHandler caught event.")
End Sub
' Call the TestEvents procedure from an instance of the ContainerClass
' class to test the Ev_Event event and the event handler.
Public Sub TestEvents()
Obj.CauseSomeEvent()
End Sub
End Class
В следующем примере показано, как производный класс может использовать оператор Handles для обработки событий базового класса:
Public Class BaseClass
' Declare an event.
Event Ev1()
End Class
Class DerivedClass
Inherits BaseClass
Sub TestEvents() Handles MyBase.Ev1
' Add code to handle this event.
End Sub
End Class