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