Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Dichiara che una routine gestisce un evento specificato.
Sintassi
proceduredeclaration Handles eventlist
Parti
proceduredeclaration Dichiarazione Sub di routine per la routine che gestirà l'evento.
eventlist Elenco degli eventi da proceduredeclaration gestire, separati da virgole. Gli eventi devono essere generati dalla classe base per la classe corrente o da un oggetto dichiarato usando la WithEvents parola chiave .
Osservazioni:
Usare la Handles parola chiave alla fine di una dichiarazione di routine per far sì che gestisca gli eventi generati da una variabile oggetto dichiarata usando la WithEvents parola chiave . La Handles parola chiave può essere usata anche in una classe derivata per gestire gli eventi da una classe di base.
La Handles parola chiave e l'istruzione AddHandler consentono entrambi di specificare che determinate procedure gestiscono eventi specifici, ma esistono differenze. Usare la Handles parola chiave quando si definisce una routine per specificare che gestisce un determinato evento. L'istruzione AddHandler connette le procedure agli eventi in fase di esecuzione. Per altre informazioni, vedere Istruzione AddHandler.
Per gli eventi personalizzati, l'applicazione richiama la funzione di accesso dell'evento AddHandler quando aggiunge la routine come gestore eventi. Per altre informazioni sugli eventi personalizzati, vedere Istruzione event.
Esempio 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
Nell'esempio seguente viene illustrato come una classe derivata può usare l'istruzione Handles per gestire un evento da una classe di base.
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
Esempio 2
L'esempio seguente contiene due gestori eventi pulsante per un progetto applicazione 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
Esempio 3
L'esempio seguente equivale all'esempio precedente. Nella eventlistHandles clausola contiene gli eventi per entrambi i pulsanti.
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