Pernyataan AddHandler
Kaitkan suatu peristiwa dengan penangan aktivitas sesuai durasi.
Sintaks
AddHandler event, {AddressOf eventhandler | expression }
Generator
Bagian | Deskripsi |
---|---|
event |
Nama peristiwa yang harus dihandel. |
eventhandler |
Nama prosedur yang menghandel peristiwa tersebut. |
expression |
Ekspresi lambda yang menangani peristiwa. |
Bagian-bagian AddressOf eventhandler
dan expression
saling eksklusif.
Keterangan
Pernyataan AddHandler
dan RemoveHandler
memungkinkan Anda untuk memulai dan menghentikan penanganan aktivitas kapan saja selama eksekusi program.
Tanda tangan penanganan aktivitas baru ( eventhandler
prosedur atau expression
lambda) harus cocok dengan tanda tangan peristiwa event
.
Kata kunci Handles
dan pernyataan AddHandler
keduanya memungkinkan Anda menentukan bahwa prosedur tertentu menghandel peristiwa tertentu, tetapi ada perbedaannya. Pernyataan AddHandler
ini menyambungkan prosedur ke peristiwa sesuai durasi. Gunakan kata kunci Handles
saat menentukan prosedur untuk menentukan bahwa ia menghandel suatu peristiwa tertentu. Untuk informasi selengkapnya, lihat Handel.
Handler yang ditambahkan dengan lambda eksplisit TIDAK DAPAT dihapus nanti (menggunakan RemoveHandler
). Memang, jika lambda tidak diberi nama, tidak mungkin untuk mereferensikannya nanti. Tetapi menetapkan lambda ke variabel dan menambahkan handler melalui variabel ini memungkinkan untuk menghapus handler menggunakan variabel ini.
Catatan
Untuk peristiwa kustom, AddHandler
pernyataan memanggil pengakses peristiwa tersebutAddHandler
. Untuk informasi selengkapnya tentang peristiwa kustom, lihat Pernyataan Peristiwa.
Contoh
Sub TestEvents()
Dim Obj As New Class1
' Associate an event handler with an event.
AddHandler Obj.Ev_Event, AddressOf EventHandler
' Call the method to raise the event.
Obj.CauseSomeEvent()
' Stop handling events.
RemoveHandler Obj.Ev_Event, AddressOf EventHandler
' This event will not be handled.
Obj.CauseSomeEvent()
' Associate an event handler with an event, using a lambda.
' This handler cannot be removed.
AddHandler Obj.Ev_Event, Sub ()
MsgBox("Lambda caught event.")
End Sub
' This event will be handled by the lambda above.
Obj.CauseSomeEvent()
End Sub
Sub EventHandler()
' Handle the event.
MsgBox("EventHandler caught event.")
End Sub
Public Class Class1
' Declare an event.
Public Event Ev_Event()
Sub CauseSomeEvent()
' Raise an event.
RaiseEvent Ev_Event()
End Sub
End Class
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk