Anasayfa / Yazılım / C# / Events – Olaylar

Events – Olaylar

Events (Olaylar) kullanıcının fare ile tıklaması, klavyeden bir tuşa basma gibi işletim sistemi üzerinden gerçekleştirdiği eylemlerdir. Bir bileşen üzerinde meydana gelen olayları takip eden ve bunları yakalayan mekanizma event handler olarak adlandırılır. Event Handler ilgili olay gerçekleştiği zaman tetiklenir. Olay gerçekleştikten sonra hangi işlemlerin yapılacağı olay yöneticileri için delegeler ile temsil edilir. Bir kullanıcının fare ile tıklaması örneğin bir Click olayıdır, bir tuşa basma olayı bir Keypress olayıdır ve bu olayların sonucunda nelerin yapılması gerektiğini biz kodlarımızla belirtebiliriz.

Yeni bir olay tanımlamak için event deyimi kullanılır. Olayları tetiklemek için ise olayın ismi kullanılmaktadır. Tıpkı delegelerde olduğu gibi bir olayı bir metota bağlamak için ?+=? çıkarmak için ise ?-=? kullanılır. Yalnız bu noktada dikkat edilmesi gereken durum, olayların bağlanacağı metotların imza yapıları olayın türü iolan delege ile aynı olmalıdır. Buradan tabi şunu da anlayabiliriz. Bir eventten önce mutlaka bir delege tanımlanmalıdır. Event önünce access modifier tanımlanabilir, public, private, protected, internal, abstract, new override, static, virtual gibi.

GUI kontrollerine gelince, bunlar için dikkat edildi ise kontrollerin çalıştıkları metotlar System.Obejct türünde sender ve System.EventsArgs türünde e isimli iki tane parametre kullanmaktadır. Bu format aslında System.EventHandler isimli delegeden gelir. Burada sender parametresi ile olayı tetikleyen nesneyi temsil ederiz. e parametresi ile ise o nesne ile ilgili bilgileri ediniriz.

Aşağıdaki örnekte örneğin bir buton üzerine mouse ile sağ tuşlamı sol tuşlamı yoksa scroll ilemi tıklanıldığının basit bir kontrolünü yapıyoruz ve buna göre mesaj veriyoruz.

System.EventArgs sınıfı ile alakalı olan bir event örneği : (Form üzerinde sadece bir buton kontrolü var)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir