Handles Tümcesi (Visual Basic)

Bir yordamın belirtilen olayı işlediğini bildirir.

Sözdizimi

proceduredeclaration Handles eventlist

Parça

proceduredeclaration Olayı Sub işleyecek yordamın yordam bildirimi.

eventlist İşlenmek üzere proceduredeclaration virgülle ayrılmış olayların listesi. Olaylar, geçerli sınıfın temel sınıfı veya anahtar sözcüğü kullanılarak WithEvents bildirilen bir nesne tarafından tetiklenmelidir.

Açıklamalar

Handles Bir yordam bildiriminin sonundaki anahtar sözcüğünü kullanarak bildirilen bir nesne değişkeni tarafından tetiklenen olayları işlemesine WithEvents neden olmak için kullanın. Anahtar Handles sözcüğü, temel sınıftan gelen olayları işlemek için türetilmiş bir sınıfta da kullanılabilir.

Handles anahtar sözcüğü ve AddHandler deyimi, belirli yordamların belirli olayları işlemesini belirtmenize olanak sağlar, ancak farklılıklar vardır. Belirli bir olayı işlediğini Handles belirtmek için bir yordam tanımlarken anahtar sözcüğünü kullanın. deyimi AddHandler , yordamları çalışma zamanındaki olaylara bağlar. Daha fazla bilgi için bkz . AddHandler Deyimi.

Özel olaylar için uygulama, yordamı olay işleyicisi olarak eklediğinde olayın AddHandler erişimcisini çağırır. Özel olaylar hakkında daha fazla bilgi için bkz . Olay Deyimi.

Örnek 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

Aşağıdaki örnek, türetilmiş bir sınıfın temel sınıftan bir olayı işlemek için deyimini Handles nasıl kullanabileceğini gösterir.

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

Örnek 2

Aşağıdaki örnek bir WPF Uygulaması projesi için iki düğme olay işleyicisi içerir.

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

Örnek 3

Aşağıdaki örnek, önceki örnekle eşdeğerdir. eventlist yan tümcesinde Handles her iki düğme için de olaylar bulunur.

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

Ayrıca bkz.