Olaylara Genel Bakış (Windows Forms)
Olay, kodda yanıt verilen veya "işleyilen" bir eylemdir. Olaylar, fare tıklama veya bir tuşa basma gibi bir kullanıcı eylemi tarafından oluşturularak; program koduna göre; veya sistem tarafından.
Olay odaklı uygulamalar, bir olay yanıt olarak kod yürütür. Her form ve denetim, programlayabilirsiniz önceden tanımlanmış bir olay kümesi ortaya çıkarır. Bu olaylardan biri oluşursa ve ilişkili olay işleyicisinde kod varsa, bu kod çağrılır.
Bir nesne tarafından uzan olay türleri farklılık gösterir, ancak çoğu denetimde birçok tür ortaktır. Örneğin, çoğu nesne bir olayı Click işler. Kullanıcı bir forma tıklarsa, formun olay Click işleyicisinde kod yürütülür.
Not
Birçok olay diğer olaylarla birlikte gerçekleşir. Örneğin, oluşan olay DoubleClick sırasında , ve MouseDown olayları MouseUp Click gerçekleşir.
Bir olayın nasıl yükseltilmesi ve tüketilmesi hakkında bilgi için bkz. Olaylar.
Temsilciler ve Onların Rolü
Temsilciler, olay işleme mekanizmaları oluşturmak için .NET Framework kullanılan sınıflardır. Temsilciler kabaca işlev işaretçileri ile aynı olur. Bu, Visual C++ ve diğer nesne odaklı dillerde yaygın olarak kullanılır. Ancak işlev işaretçilerin aksine, temsilciler nesne odaklı, tür güvenli ve güvenlidir. Ayrıca, bir işlev işaretçisinin yalnızca belirli bir işleve başvuru içerdiğinde, temsilci bir nesneye yönelik bir başvurudan ve nesne içindeki bir veya daha fazla yönteme başvurulardan oluşur.
Bu olay modeli, olayları işlemek için kullanılan yöntemlere bağlamak için temsilciler kullanır. Temsilci, bir işleyici yöntemi belirterek diğer sınıfların olay bildirimine kaydolmalarını sağlar. Olay oluştuğunda, temsilci bağlı yöntemini çağırabilir. Temsilci tanımlama hakkında daha fazla bilgi için bkz. Olaylar.
Temsilciler tek bir yönteme veya çok noktaya yayın olarak adlandırılan birden çok yönteme bağlı olabilir. Bir olay için temsilci oluştururken, genellikle çok noktaya yayın Windows bir olay oluşturabilirsiniz. Nadir bir özel durum, olay başına mantıksal olarak birden çok kez tekrarlamayan belirli bir yordamla (örneğin bir iletişim kutusunun görüntülenmesi) 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ğırma listesini sürdürür. Çok noktaya yayın temsilcisi, çağırma listesine yöntem eklemek için bir Combine yöntemi ve kaldırma yöntemini Remove destekler.
Uygulama tarafından bir olay kaydediliyorsa denetim, ilgili olay için temsilciyi yetkilerini kullanarak olayı yükselter. Temsilci de bağlı yöntemi çağırarak. En yaygın durumda (çok noktaya yayın temsilcisi) temsilci, çağrı listesinde her bağlı yöntemi sırasıyla çağırarak bire çok bildirimi sağlar. Bu strateji, denetimin olay bildirimi için hedef nesnelerin listesini sürdürmesi gerekmay– tüm kayıt ve bildirimleri temsilcinin işlemesi anlamına gelir.
Temsilciler ayrıca birden çok olay için aynı yönteme bağlı olarak çoka bir bildirime olanak sağlar. Örneğin, bir düğme tıklama olayı ve bir menü komutu-tıklama olayı aynı temsilciyi çağırarak 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 imza olay işleyicisi ile eşleşen herhangi bir yönteme bağlanabilirsiniz. Bu özellikle, bir koşula bağlı olarak bağlı yöntemi oluşturabilir veya değiştirebilir ve bir denetime dinamik olarak bir olay işleyicisi iliştirebilirsiniz.