Handles Tümcesi (Visual Basic)
Bir yordamın belirtilen bir olayı işlediğini bildirir.
Syntax
proceduredeclaration Handles eventlist
Bölümler
proceduredeclaration``SubOlayı işleyecek yordamın yordam bildirimi.
eventlist İşlenecek olayların listesi proceduredeclaration , virgülle ayrılmış. Olaylar, geçerli sınıfın temel sınıfı ya da anahtar sözcüğü kullanılarak belirtilen bir nesne tarafından oluşturulmalıdır WithEvents .
Açıklamalar
HandlesAnahtar sözcüğü kullanılarak belirtilen bir nesne değişkeni tarafından oluşturulan olayları işlemesini sağlamak için yordam bildiriminin sonundaki anahtar sözcüğünü kullanın WithEvents . HandlesAnahtar sözcüğü, bir temel sınıftan olayları işlemek için türetilmiş bir sınıfta de kullanılabilir.
HandlesAnahtar sözcüğü ve AddHandler deyimleri her ikisi de belirli olayları işleyen belirli yordamları belirtmenizi sağlar, ancak farklılık vardır. HandlesBelirli bir olayı işlediğini belirtmek için bir yordam tanımlarken anahtar sözcüğünü kullanın. AddHandlerİfade, çalışma zamanında yordamları olaylara bağlar. Daha fazla bilgi için bkz. AddHandler bildirisi.
Özel olaylar için uygulama, AddHandler yordamı bir olay işleyicisi olarak eklediğinde olayın erişimcisini çağırır. Özel olaylar hakkında daha fazla bilgi için bkz. Event 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, bir türetilen sınıfın bir Handles temel sınıftan bir olayı işlemek için nasıl kullanılacağını 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 uygulama 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 örneğe eşdeğerdir. eventlistİçindeki Handles yan tümce her iki düğme için de olayları içerir.
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