Klausul Handel (Visual Basic)
Menyatakan bahwa prosedur menangani peristiwa tertentu.
Sintaks
proceduredeclaration Handles eventlist
Generator
proceduredeclaration
Deklarasi prosedur Sub
untuk prosedur yang akan menangani acara.
eventlist
Daftar peristiwa-peristiwa untuk ditangani proceduredeclaration
, dipisahkan oleh koma. Peristiwa harus dinaikkan oleh kelas dasar untuk kelas saat ini, atau oleh objek yang dideklarasikan menggunakan kata kunci WithEvents
.
Keterangan
Gunakan kata kunci Handles
di akhir deklarasi prosedur agar dapat menangani peristiwa yang dimunculkan oleh variabel objek yang dideklarasikan menggunakan kata kunci WithEvents
. Kata kunci Handles
juga dapat digunakan dalam kelas turunan untuk menangani peristiwa dari kelas dasar.
Kata kunci Handles
dan pernyataan AddHandler
keduanya memungkinkan Anda menentukan bahwa prosedur tertentu menghandel peristiwa tertentu, tetapi ada perbedaannya. Gunakan kata kunci Handles
saat menentukan prosedur untuk menentukan bahwa ia menghandel suatu peristiwa tertentu. Pernyataan AddHandler
ini menyambungkan prosedur ke peristiwa sesuai durasi. Untuk informasi selengkapnya, lihat Pernyataan AddHandler.
Untuk peristiwa kustom, aplikasi memanggil aksesor peristiwa AddHandler
saat menambahkan prosedur sebagai penanganan aktivitas. Untuk informasi selengkapnya tentang peristiwa kustom, lihat Pernyataan Peristiwa.
Contoh 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
Contoh berikut menunjukkan bagaimana kelas turunan dapat menggunakan pernyataan Handles
untuk menangani peristiwa dari kelas dasar.
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
Contoh 2
Contoh berikut berisi dua penanganan aktivitas tombol untuk proyek Aplikasi 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
Contoh 3
Contoh berikut setara dengan contoh sebelumnya. eventlist
dalam klausa Handles
berisi peristiwa untuk kedua tombol.
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