Visual Basic'te olay işleyicisini çağırma
Olay, bir program bileşeni tarafından tanınan ve yanıt vermek üzere kod yazabileceğiniz bir eylem veya oluşumdur (fare tıklaması veya kredi sınırı aşılmış gibi). Olay işleyicisi , bir olaya yanıt vermek için yazdığınız koddur.
Visual Basic'te olay işleyicisi bir Sub
yordamdır. Ancak, normalde diğer Sub
yordamlarla aynı şekilde çağırmazsınız. Bunun yerine, yordamı olay için işleyici olarak tanımlarsınız. Bunu bir Handles
yan tümce ve WithEvents
değişkenle veya AddHandler Deyimiyle yapabilirsiniz. Handles
Yan tümcesi kullanmak, Visual Basic'te bir olay işleyicisi bildirmenin varsayılan yoludur. Bu, tümleşik geliştirme ortamında (IDE) programladığınızda tasarımcılar tarafından olay işleyicilerinin yazılıyor olmasıdır. AddHandler
deyimi, çalışma zamanında olayları dinamik olarak oluşturmak için uygundur.
Olay gerçekleştiğinde, Visual Basic olay işleyici yordamını otomatik olarak çağırır. Olaya erişimi olan tüm kodlar RaiseEvent Deyimi yürüterek bunun oluşmasına neden olabilir.
Aynı olayla birden fazla olay işleyicisi ilişkilendirebilirsiniz. Bazı durumlarda bir işleyiciyi bir olayla ilişkilendirebilirsiniz. Daha fazla bilgi için bkz . Olaylar.
ve kullanarak Handles bir olay işleyicisi çağırma WithEvents
Olayın bir Event Deyimi ile bildirildiğinden emin olun.
Anahtar sözcüğünü kullanarak modül veya sınıf düzeyinde bir nesne değişkeni bildirin
WithEvents
. Bu değişkeninAs
yan tümcesi, olayı tetikleyen sınıfı belirtmelidir.Olay işleme
Sub
yordamının bildiriminde değişkeni ve olay adını belirtenWithEvents
birHandles
yan tümcesi ekleyin.Olay gerçekleştiğinde, Visual Basic yordamı otomatik olarak çağırır
Sub
. Kodunuz, olayın gerçekleşmesini sağlamak için birRaiseEvent
deyimi kullanabilir.Aşağıdaki örnek bir olayı ve olayı oluşturan sınıfa başvuran bir
WithEvents
değişkeni tanımlar. Olay işlemeSub
yordamı, işlediği sınıfı ve olayı belirtmek için birHandles
yan tümcesi kullanır.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
AddHandler kullanarak olay işleyicisi çağırma
Olayın bir
Event
deyimiyle bildirildiğinden emin olun.Olay işleme
Sub
yordamını olaya dinamik olarak bağlamak için bir AddHandler deyimi yürütür.Olay gerçekleştiğinde, Visual Basic yordamı otomatik olarak çağırır
Sub
. Kodunuz, olayın gerçekleşmesini sağlamak için birRaiseEvent
deyimi kullanabilir.Aşağıdaki örnek, yordamı için bir olay işleyicisi olarak ilişkilendirmek için FormClosingoluşturucudaki
OnFormClosing
AddHandler deyimini kullanır.Sub New() InitializeComponent() AddHandler Me.FormClosing, AddressOf OnFormClosing End Sub Private Sub OnFormClosing(sender As Object, e As FormClosingEventArgs) ' Insert code to deal with impending closure of this form. End Sub
RemoveHandler deyimini yürüterek olay işleyicisini bir olayla ilişkilendirebilirsiniz.