Formlarda Olayları İşleme
Düğme tıklamaları ve form gönderimleri gibi kullanıcı etkileşimlerini işlemeyi öğrenin
Formlarda Olayları İşleme, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 3 dersten oluşur.
Olaylar Nelerdir?
Olaylar Nelerdir?
Olaylar, bir programın yanıt verebileceği düğme tıklaması, fare hareketi veya metin girişi gibi eylemler ya da meydana gelen durumlardır. Olay yönetimi, uygulamanızın bu eylemlere nasıl tepki vermesi gerektiğini tanımlamanıza olanak tanır.
Önemli Nokta: Windows Forms, kullanıcı eylemlerine yanıt vermek için olay güdümlü programlama kullanır.

Olayları Anlama
Olaylar Nelerdir?
Olaylar, bir programın yanıt verebileceği düğme tıklaması, fare hareketi veya metin girişi gibi eylemler ya da meydana gelen durumlardır. Olay yönetimi, uygulamanızın bu eylemlere nasıl tepki vermesi gerektiğini tanımlamanıza olanak tanır.
Önemli Nokta: Windows Forms, kullanıcı eylemlerine yanıt vermek için olay güdümlü programlama kullanır.
Olaylara Abone Olma
Olaylara Abone Olma
Bir olayı yönetmek için, olay gerçekleştiğinde çalıştırılacak bir yöntem (olay işleyicisi) atayarak bu olaya abone olmanız gerekir. Örnek:
using System;
using System.Windows.Forms;
class Program : Form {
static void Main() {
Application.Run(new Program());
}
public Program() {
Button button = new Button() {
Text = "Click Me",
Left = 100,
Top = 50
};
button.Click += Button_Click;
Controls.Add(button);
}
private void Button_Click(object sender, EventArgs e) {
MessageBox.Show("Button was clicked!");
}
}
Yaygın Olaylar
Yaygın Olaylar
Windows Forms'taki bazı yaygın olaylar şunlardır:
- Tıklama: Bir düğme veya tıklanabilir başka bir denetim tıklandığında tetiklenir.
- TextChanged: Bir metin kutusundaki metin değiştiğinde tetiklenir.
- MouseEnter: Fare işaretçisi bir denetimin üzerine geldiğinde tetiklenir.
- KeyDown: Bir denetim odaklanmışken bir tuşa basıldığında tetiklenir.
Önemli Nokta: Her olayın belirli bir amacı vardır ve etkileşimi artırmak için birden çok olay kullanabilirsiniz.
Tasarımcıda Olay İşleyicileri Ekleme
Tasarımcıda Olay İşleyicileri Ekleme
Windows Forms Tasarımcısını kullanarak olay işleyicileri ekleyebilirsiniz:
- Tasarımcıda denetimi seçin.
- Özellikler penceresini açın ve Olaylar sekmesine gidin (şimşek simgesi).
- Kodda bir olay işleyicisi oluşturmak için istediğiniz olaya (örneğin
Click) çift tıklayın.
İpucu: Bu yaklaşım, birden çok denetime olay işleyicileri eklemek için daha hızlıdır.
Olay Bağımsız Değişkenleri
Olay Bağımsız Değişkenleri
Olay işleyicileri genellikle olay hakkında ek bilgiler sağlayan bir EventArgs parametresi içerir. Örnek:
using System;
using System.Windows.Forms;
class Program : Form {
static void Main() {
Application.Run(new Program());
}
public Program() {
TextBox textBox = new TextBox() {
Left = 50,
Top = 50,
Width = 200
};
textBox.TextChanged += TextBox_TextChanged;
Controls.Add(textBox);
}
private void TextBox_TextChanged(object sender, EventArgs e) {
TextBox textBox = (TextBox)sender;
Console.WriteLine("Text changed to: " + textBox.Text);
}
}
Uygulama Alıştırması
Uygulama Alıştırması
Aşağıdakileri içeren bir Windows Forms uygulaması oluşturun:
- Tıklandığında ileti görüntüleyen bir düğme
- Metin değişikliklerini konsola kaydeden bir metin kutusu
- Fare işaretçisi belirli bir alana girdiğinde güncellenen bir etiket
Örnek:
using System;
using System.Windows.Forms;
class Program : Form {
Label label;
static void Main() {
Application.Run(new Program());
}
public Program() {
Button button = new Button() {
Text = "Click Me",
Left = 50,
Top = 50
};
button.Click += (sender, e) => MessageBox.Show("Button clicked!");
Controls.Add(button);
TextBox textBox = new TextBox() {
Left = 50,
Top = 100,
Width = 200
};
textBox.TextChanged += (sender, e) => Console.WriteLine("Text changed to: " + textBox.Text);
Controls.Add(textBox);
label = new Label() {
Text = "Hover over me",
Left = 50,
Top = 150,
Width = 150
};
label.MouseEnter += Label_MouseEnter;
Controls.Add(label);
}
private void Label_MouseEnter(object sender, EventArgs e) {
label.Text = "Mouse is here!";
}
}
Olay Yönetimi İçin En İyi Uygulamalar
Olay Yönetimi İçin En İyi Uygulamalar
İşte bazı en iyi uygulamalar:
- Olay işleyicisi yöntemleri için anlamlı adlar kullanın.
- Olay işleyicilerinin içine doğrudan aşırı miktarda mantık yazmaktan kaçının; bunun yerine başka yöntemleri çağırın.
- Bellek sızıntılarını önlemek için artık gerek kalmadığında olay işleyicilerinin bağlantısını kaldırın.
İpucu: Olay işleyicilerinizin her durumda beklendiği gibi çalıştığından emin olmak için onları sınayın.
Harika İş Çıkardınız!
Harika İş Çıkardınız!
Tebrikler! Uygulamalarınızı etkileşimli hâle getirmek için Windows Forms'ta olayları yönetmeyi öğrendiniz. Bir sonraki derste öğrendiklerinizi uygulamak için basit bir hesap makinesi uygulaması oluşturacağız. Kod yazmaya devam edelim!
Sonraki derse geçmek için Devam Et'e tıklayın.

Sıkça Sorulan Sorular
“Formlarda Olayları İşleme” dersi ücretsiz mi?
Evet — “Formlarda Olayları İşleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 3 dersten oluşur.
“Formlarda Olayları İşleme” dersinde ne öğreneceğim?
Düğme tıklamaları ve form gönderimleri gibi kullanıcı etkileşimlerini işlemeyi öğrenin C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.
“Formlarda Olayları İşleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Windows Forms'a Giriş
- Kullanıcı Arayüzleri Tasarlama
- Formlarda Olayları İşleme