Chapter 13: Handling Events
2Microsoft Visual C# 2012, Fifth Edition Olay İşleme Olay – Bir nesne için ilginç bir şey olduğu zaman oluşur. – Programın kullandığı sınıf nesnesine birsey olduğu zaman istemci programın bildirmesidir. Olay Güdümlü – Bir olay program için bir görevi gerçekleştirmek için “güder” Olaylar yükseltilebilir, ateşlenebilir ve tetiklenebilir. Olay İşleyicisi – Bir olaya yanıt olarak bir görevi gerçekleştiren bir metotdur.
3Microsoft Visual C# 2012, Fifth Edition Olay İşleme Şekil Butonu ve etiketi olan bir Form Şekil 13-2 :Kullanıcının butona tıkladıktan sonra EventDemo programının çıktısı
4Microsoft Visual C# 2012, Fifth Edition Olay İşleme private void button1_Click(object sender,EventArgs e) { label1.Text=sender.ToString(); } Şekil 13-3:EventDemo programı gönderici bilgilerini göstermesi için modifiye edildi
5Microsoft Visual C# 2012, Fifth Edition Olay İşleme private void button1_Click(object sender,EventArgs e) { label1.Text=e.ToString(); } Şekil 13-4:EventDemo programı EventArgs bilgilerini göstermesi için modifiye edildi
6Microsoft Visual C# 2012, Fifth Edition Olay İşleme – Genel adlandırmalar kullanılır: Control tanıtıcısı Alttan-tire Olayın adı – Örneğin: changeButton_Click() – olay alıcı olarakta bilinir Olay Gönderen – Control bir olay oluşturur.
7Microsoft Visual C# 2012, Fifth Edition Olay İşleme Olay işlemeye örnek: private void changeButton_Click(object sender, EventArgs e) { helloLabel.Text = e.ToString(); } (Olay Argümanları)EventArgs – Olay bilgilerini tutmak için tasarlanmış bir C # sınıfı Tıklama olayı – Bir Buton nesnesine tıklandığında oluşur.
8Microsoft Visual C# 2012, Fifth Edition Dahili Olay İşleyicisini Kullanma.NET Framework kurallar sağlar – Bir olay iki parametre alır: Olyın kaynağı EventArgs parametresi Olayİşleyicisi –.NET Framework tarafından tanımlanır – Ek bilgileri olmayan olaylar için kullanılır.
9Microsoft Visual C# 2012, Fifth Edition Control Bileşen Olaylarını İşleme Varolan Control bileşenlerinin zaten olaylarının adları vardır. – Tablo 13-1 bakınız
10Microsoft Visual C# 2012, Fifth Edition Control Bileşen Olaylarını İşleme Tablo 13- 1: Bazı kontrol sınıflarının ortak örnek olayları
11Microsoft Visual C# 2012, Fifth Edition Control Bileşen Olaylarını İşleme Tablo 13- 1: Bazı kontrol sınıflarının ortak örnek olayları
12Microsoft Visual C# 2012, Fifth Edition (continued) Control Bileşen Olaylarını İşleme Tablo 13- 1: Bazı kontrol sınıflarının ortak örnek olayları
13Microsoft Visual C# 2012, Fifth Edition Bazı olay işleme yöntemleri oluşturmak için IDE zaten kullanmıştık. – IDE’de bir Control için oluşturulan varsayılan olaylar – Özellikler Penceresindeki Olay ikonunu kullanma – IDE otomatik olarak doğru gerekli deyimi girerek size zaman kazandırır Control Bileşen Olaylarını İşleme
14Microsoft Visual C# 2012, Fifth Edition Control Bileşen Olaylarını İşleme Şekil 13-19: IDE’de OneButtonTwoEvents projesinin başlangıcı
15Microsoft Visual C# 2012, Fifth Edition Control Bileşen Olaylarını İşleme Şekil 13-20: Olayları gösteren Özellikler penceresi
16Microsoft Visual C# 2012, Fifth Edition Control Bileşen Olaylarını İşleme Şekil 13-21: OneButtonTwoEvents programının butona fareyle tıklanması ve sonraki hali
17Microsoft Visual C# 2012, Fifth Edition Fare Olaylarını İşleme Fare Olayları – Kullanıcının fare kullanarak yaptığı eylemler. Tıklamak, işaretlemek ve sürüklemek. – Sınıfın bir nesnesi aracılığıyla işlenir. MouseEventArgs
18Microsoft Visual C# 2012, Fifth Edition Fare Olaylarını İşleme Tablo 13-2: IDE’de OneButtonTwoEvents projesinin başlangıcı
19Microsoft Visual C# 2012, Fifth Edition Fare Olaylarını İşleme Tablo 13-3 : MouseEventArgs sınıfının özellikleri
20Microsoft Visual C# 2012, Fifth Edition Fare Olaylarını İşleme Şekil 13-22: Tıklamaları gösteren bir Form
21Microsoft Visual C# 2012, Fifth Edition Klavye Olaylarını İşleme Anahtar Olayları – Klavye olayları – Kullanıcının klavye tuşlarını basıp bırakma olayları sonucunda gerçekleşir. KeyEventHandler ve KeyPressEventHandler KeyEventArgs ve KeyPressEventArgs – Önemli olayları işlemek için kullanılan sınıflar
22Microsoft Visual C# 2012, Fifth Edition Klavye Olaylarını İşleme Tablo 13-5: KeyEventArgs sınıfının bazı özellikleri Tablo 13-4: Klavye olayları
23Microsoft Visual C# 2012, Fifth Edition Klavye Olaylarını İşleme Tablo 13-6: KeyPressEventArgs sınıfının özelliği
24Microsoft Visual C# 2012, Fifth Edition Klavye Olaylarını İşleme Şekil 13-23: KeyUp() metodu
25Microsoft Visual C# 2012, Fifth Edition Klavye Olaylarını İşleme Şekil 13-24: KeyDemo programının 4 şekilde yürütülmesi
26Microsoft Visual C# 2012, Fifth Edition Birden Fazla Kontrol ün Yönetimi Form lar birden fazla Kontrol içeriyorsa, çeşitli eylemler tek bir sonuç elde eder.
27Microsoft Visual C# 2012, Fifth Edition Odak Tanımlama Odak – Eğer kullanıcı Enter tuşuna basarsa, Kontrol bir olayı tetikler. TabStop – Boolean özelliği – Kontrol Tab tuşuna basıldığında, bir sıra durdurma yeri olarak hizmet verecek olup olmadığını belirler TabIndex – Sayısal özellik – Kullanıcı Tab tuşuna bastığında Kontrol odağı alacak sırayı gösterir
28Microsoft Visual C# 2012, Fifth Edition Odak Tanımlama Şekil 13-25: FocusDemo uygulaması
29Microsoft Visual C# 2012, Fifth Edition Tek Bir İşleyici İle Birden Fazla Olayı İşlemek Aynı olay birden fazla kez ilişkilendirilebilir. Kontroller – Özellikler Penceresindeki olayların ikonlarını kullan Displays all the existing events that have the correct signature to be the event handler for the event
30Microsoft Visual C# 2012, Fifth Edition Tek Bir İşleyici İle Birden Fazla Olayı İşlemek Şekil 13-26: SingleHandler programında harf butonuna tıklandıktan sonraki çıktı