Sdílet prostřednictvím


Jak: volání obslužné rutiny události v jazyce Visual Basic

Událost je akce nebo výskyt – jako je například myš klepnutím nebo limit úvěru překročen – některé součásti programu, a pro které můžete zapsat kód, je rozpoznán reagovat.Obslužné rutiny události je kód zapsat reagovat na události.

Obslužné rutiny události v Visual Basic je Sub postup.Však není volání obvykle stejný způsobem jako ostatní Sub postupy.Místo toho určit postup jako obslužnou rutinu události.Lze provést buď s Klauzule Handles (Visual Basic) klauzule a WithEvents (Visual Basic) proměnné, nebo Příkaz AddHandler.Použití Handles klauzule je výchozí způsob, jak deklarovat obslužné rutiny události v Visual Basic.Toto je způsob, jakým obslužné rutiny událostí jsou zapsány návrháři při aplikaci v integrované vývojové prostředí (IDE).AddHandler Příkaz je vhodný pro zvýšení události dynamicky za běhu.

Při výskytu události Visual Basic automaticky volá proceduru obslužnou rutinu události.Jakýkoli kód, který má přístup k události může způsobit jeho provedením dojít Příkaz RaiseEvent.

Stejné události lze přidružit více obslužnou rutinu události.V některých případech lze oddělit popisovač z události.Další informace naleznete v tématu Události (Visual Basic).

Volání pomocí úchytů a WithEvents zpracování události

  1. Zkontrolujte, zda je událost deklarována s Výpis událostí.

  2. Deklarovat objektové proměnné v modulu třídy nebo úrovně použití WithEvents (Visual Basic) klíčové slovo.As Klauzule pro tuto proměnnou musí určit třídu, která vyvolá událost.

  3. V prohlášení o zpracování událostí Sub postup, přidat Klauzule Handles (Visual Basic) klauzule, která určuje, WithEvents proměnné a název události.

  4. Při výskytu události Visual Basic automaticky zavolá Sub postup.Pomocí kódu RaiseEvent prohlášení k události dojít.

    Následující příklad definuje událost a WithEvents proměnné odkazující na třídu, která vyvolá událost.Zpracování událostí Sub postup používá Handles klauzule určit třídu a zpracovává události.

    Public Class raisesEvent
        Public Event somethingHappened()
        Dim WithEvents happenObj As New raisesEvent
        Public Sub processHappen() Handles happenObj.somethingHappened
            ' Insert code to handle somethingHappened event.
        End Sub
    End Class
    

Volání pomocí AddHandler zpracování události

  1. Zkontrolujte, zda je událost deklarována s Event prohlášení.

  2. Spuštění Příkaz AddHandler dynamicky připojit zpracování událostí Sub proceduru události.

  3. Při výskytu události Visual Basic automaticky zavolá Sub postup.Pomocí kódu RaiseEvent prohlášení k události dojít.

    Následující příklad definuje Sub postup zpracování Closing události formuláře.Poté použije Příkaz AddHandler k přidružení catchClose postup jako obslužnou rutinu události pro Closing.

    ' Place these procedures inside a Form class definition.
    Private Sub catchClose(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
        ' Insert code to deal with impending closure of this form.
    End Sub
    Public Sub formOpened()
        AddHandler Me.Closing, AddressOf catchClose
    End Sub
    

    Obslužné rutiny události z události můžete oddělit provedením Prohlášení RemoveHandler.

Viz také

Úkoly

Jak: vytvoření procedury (Visual Basic)

Jak: volání procedury, která nevrací hodnotu (Visual Basic)

Referenční dokumentace

Příkaz Sub (Visual Basic)

Operátor AddressOf (Visual Basic)

Koncepty

Procedury v jazyce Visual Basic

Procedury typu Sub (Visual Basic)