Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объявляет, что процедура обрабатывает указанное событие.
Синтаксис
proceduredeclaration Handles eventlist
Комплектующие
proceduredeclaration
Объявление Sub
процедуры для процедуры, которая будет обрабатывать событие.
eventlist
Список событий для proceduredeclaration
обработки, разделенных запятыми. События должны вызываться базовым классом для текущего класса или объектом, объявленным с помощью ключевого WithEvents
слова.
Замечания
Handles
Используйте ключевое слово в конце объявления процедуры, чтобы вызвать его обработку событий, вызванных переменной объекта, объявленной с помощью ключевого WithEvents
слова. Ключевое Handles
слово также можно использовать в производном классе для обработки событий из базового класса.
Ключевое Handles
слово и AddHandler
оператор позволяют указать, что определенные процедуры обрабатывают определенные события, но существуют различия. Используйте ключевое Handles
слово при определении процедуры, чтобы указать, что она обрабатывает определенное событие. Инструкция AddHandler
подключает процедуры к событиям во время выполнения. Дополнительные сведения см. в инструкции AddHandler.
Для пользовательских событий приложение вызывает метод доступа события AddHandler
при добавлении процедуры в качестве обработчика событий. Дополнительные сведения о пользовательских событиях см. в инструкции event.
Пример 1
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
Пример 2
В следующем примере содержатся два обработчика событий кнопки для проекта приложения WPF .
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub
Пример 3
Следующий пример эквивалентен предыдущему примеру. В eventlist
предложении Handles
содержатся события для обеих кнопок.
Private Sub Button_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click, Button2.Click
MessageBox.Show(sender.Name & " clicked")
End Sub