Поделиться через


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

См. также

Основные понятия

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

Ссылки

WithEvents

Оператор AddHandler

Оператор RemoveHandler

Оператор Event

Оператор RaiseEvent