Aracılığıyla paylaş


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

  1. Olayın bir Event Deyimi ile bildirildiğinden emin olun.

  2. Anahtar sözcüğünü kullanarak modül veya sınıf düzeyinde bir nesne değişkeni bildirin WithEvents . Bu değişkenin As yan tümcesi, olayı tetikleyen sınıfı belirtmelidir.

  3. Olay işleme Sub yordamının bildiriminde değişkeni ve olay adını belirten WithEvents bir Handles yan tümcesi ekleyin.

  4. Olay gerçekleştiğinde, Visual Basic yordamı otomatik olarak çağırır Sub . Kodunuz, olayın gerçekleşmesini sağlamak için bir RaiseEvent 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şleme Sub yordamı, işlediği sınıfı ve olayı belirtmek için bir Handles 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

  1. Olayın bir Event deyimiyle bildirildiğinden emin olun.

  2. Olay işleme Sub yordamını olaya dinamik olarak bağlamak için bir AddHandler deyimi yürütür.

  3. Olay gerçekleştiğinde, Visual Basic yordamı otomatik olarak çağırır Sub . Kodunuz, olayın gerçekleşmesini sağlamak için bir RaiseEvent 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.

Ayrıca bkz.