Olaylara genel bakış (Windows Forms .NET)

Olay, kodda yanıt verebileceğiniz veya "işleyebileceğiniz" bir eylemdir. Olaylar, fareye tıklamak veya bir tuşa basmak, program kodu veya sistem tarafından olmak üzere bir kullanıcı eylemi tarafından oluşturulabilir.

Önemli

.NET 7 ve .NET 6 için Masaüstü Kılavuzu belgeleri yapım aşamasındadır.

Olay temelli uygulamalar bir olaya yanıt olarak kod yürütür. Her form ve denetim, programlayabileceğiniz önceden tanımlanmış bir olay kümesini kullanıma sunar. Bu olaylardan biri gerçekleşirse ve ilişkili bir olay işleyicisi kodu varsa, bu kod çağrılır.

Bir nesne tarafından tetiklenen olay türleri farklılık gösterir, ancak çoğu denetimde birçok tür yaygındır. Örneğin, çoğu nesne bir Click olayı işler. Kullanıcı bir forma tıklarsa, formun Click olay işleyicisindeki kod yürütülür.

Dekont

Birçok olay diğer olaylarla birlikte gerçekleşir. Örneğin, gerçekleşen MouseDownolay sırasında DoubleClick , MouseUpve Click olayları gerçekleşir.

Olay oluşturma ve kullanma hakkında bilgi için bkz . Olayları işleme ve oluşturma.

Temsilciler ve rolleri

Temsilciler, olay işleme mekanizmaları oluşturmak için .NET içinde yaygın olarak kullanılan sınıflardır. Temsilciler, visual C++ ve diğer nesne odaklı dillerde yaygın olarak kullanılan işlev işaretçilerine kabaca eşittir. Ancak işlev işaretçilerinin aksine, temsilciler nesne odaklı, tür açısından güvenli ve güvenlidir. Ayrıca, işlev işaretçisi yalnızca belirli bir işleve başvuru içerdiğinde, temsilci bir nesneye başvurudan ve nesne içindeki bir veya daha fazla yönteme başvurudan oluşur.

Bu olay modeli, olayları işlemek için kullanılan yöntemlere bağlamak için temsilcileri kullanır. Temsilci, bir işleyici yöntemi belirterek diğer sınıfların olay bildirimine kaydolmasını sağlar. Olay gerçekleştiğinde, temsilci bağlı yöntemi çağırır. Temsilcileri tanımlama hakkında daha fazla bilgi için bkz . Olayları işleme ve oluşturma.

Temsilciler tek bir yönteme veya çok noktaya yayın olarak adlandırılan birden çok yönteme bağlanabilir. Bir olay için temsilci oluştururken genellikle çok noktaya yayın olayı oluşturursunuz. Nadir bir özel durum, olay başına mantıksal olarak birden çok kez yinelenmeyecek belirli bir yordamla (iletişim kutusu görüntüleme gibi) sonuçlanan bir olay olabilir. Çok noktaya yayın temsilcisi oluşturma hakkında bilgi için bkz . Temsilcileri birleştirme (Çok Noktaya Yayın Temsilcileri).

Çok noktaya yayın temsilcisi, bağlı olduğu yöntemlerin çağrı listesini tutar. Çok noktaya yayın temsilcisi, çağırma listesine yöntem ekleme yöntemini ve Remove kaldırma yöntemini desteklerCombine.

Bir olay uygulama tarafından kaydedildiğinde, denetim söz konusu olay için temsilciyi çağırarak olayı tetikler. Temsilci de bağlı yöntemi çağırır. En yaygın durumda (çok noktaya yayın temsilcisi), temsilci çağrı listesindeki her ilişkili yöntemi sırayla çağırır ve bu da bire çok bildirimi sağlar. Bu strateji, denetimin olay bildirimi için hedef nesnelerin listesini tutmasına gerek olmadığı anlamına gelir; temsilci tüm kayıt ve bildirimi işler.

Temsilciler ayrıca birden çok olayın aynı yönteme bağlanmasına olanak tanıyarak çoka bir bildirim sağlar. Örneğin, bir düğme tıklama olayı ve menü-komut tıklama olayı aynı temsilciyi çağırabilir ve ardından bu ayrı olayları aynı şekilde işlemek için tek bir yöntem çağırır.

Temsilcilerle kullanılan bağlama mekanizması dinamiktir: Bir temsilci, çalışma zamanında imzası olay işleyicisiyle eşleşen herhangi bir yönteme bağlanabilir. Bu özellik sayesinde, bir koşula bağlı olarak bağlı yöntemi ayarlayabilir veya değiştirebilir ve denetime dinamik olarak bir olay işleyicisi ekleyebilirsiniz.

Ayrıca bkz.