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