Nasıl yapılır: Olay İşleyicisi Çağırma (Visual Basic)
Bir olay bir eylem ya da oluşum — gibi bir fare tıklatma veya kredi limiti aşıldı —, tanınmasını bazı program bileşeni tarafından ve hangi kod yazabilirsiniz için yanıt vermek için.Bir olay işleyicisi bir olaya yanıt vermek için yazma kodudur.
Bir olay işleyicisi Visual Basic olan bir Sub yordam.Ancak, normal olarak, aynı şekilde diğer çağırmayın Sub yordam.Bunun yerine, bir olay işleyicisi olarak yordamını tanımlayın.İle ya da bunu yapabilirsiniz bir Handles Tümcesi (Visual Basic) yan tümcesi ve bir WithEvents (Visual Basic) , değişken veya bir AddHandler Deyimi.Kullanarak bir Handles yan tümcesinin bir olay işleyicisinde bildirmek için varsayılan yol Visual Basic.Bu tümleşik geliştirme ortamı (IDE) programdaki zaman olay işleyicilerini tasarımcıları tarafından yazılmış olan yoldur.AddHandler Deyimi olayları dinamik olarak zamanında yükseltme için uygun.
Olay ortaya çıktığında, Visual Basic otomatik olarak olay işleyici yordamı çağırır.Olay erişimi olan herhangi bir kod yürütmek yoluyla gerçekleşmesi için neden bir RaiseEvent Deyimi.
Aynı olaya birden fazla olay işleyicisi ilişkilendirebilirsiniz.Bazı durumlarda bir olay işleyicisinden DISSOCIATE.Daha fazla bilgi için bkz. Olaylar (Visual Basic).
Tanıtıcı ve WithEvents kullanarak bir olay işleyicisi çağırmak için
Emin olun olay bildirilmiş bir Event Deyimi.
Bir nesne değişkeni modül veya sınıf düzeyi kullanarak bildirmek WithEvents (Visual Basic) anahtar sözcüğü.As Yan tümcesi Bu değişken için olayı başlatan sınıf belirtmeniz gerekir.
Olay işleme bildiriminde Sub yordamı, ekleme bir Handles Tümcesi (Visual Basic) belirten yan WithEvents değişken ve Olay adı.
Olay ortaya çıktığında, Visual Basic otomatik olarak çağırır Sub yordam.Kodunuzu kullanabilirsiniz bir RaiseEvent ortaya olayın ifadesi.
Aşağıdaki örnek bir olay tanımlar ve bir WithEvents olayı başlatan sınıfına başvuran değişken.Olay işleme Sub yordamı kullanan bir Handles sınıf ve işlediği olay belirtmek için yan tümcesi.
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 bir olay işleyicisi çağırmak için
Emin olun olay bildirilmiş bir Event ifadesi.
Execute bir AddHandler Deyimi olay işleme dinamik olarak bağlanmak için Sub olay yordamı.
Olay ortaya çıktığında, Visual Basic otomatik olarak çağırır Sub yordam.Kodunuzu kullanabilirsiniz bir RaiseEvent ortaya olayın ifadesi.
Aşağıdaki örnek tanımlayan bir Sub işlemek için yordam Closing bir formun olay.Daha sonra kullanır AddHandler Deyimi ilişkilendirmek için catchClose yordam için bir olay işleyicisi olarak Closing.
' Place these procedures inside a Form class definition. Private Sub catchClose(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) ' Insert code to deal with impending closure of this form. End Sub Public Sub formOpened() AddHandler Me.Closing, AddressOf catchClose End Sub
Bir olay işleyicisi bir olaydan yürüterek ilişkisini RemoveHandler Deyimi.
Ayrıca bkz.
Görevler
Nasıl yapılır: Yordam Oluşturma (Visual Basic)
Nasıl yapılır: Değer Döndürmeyen Bir Yordam Çağırma (Visual Basic)
Başvuru
AddressOf İşleci (Visual Basic)