2.5 – Form Üzerindeki Kontrol Değerleriyle Çalışma


📘 2.5 – Form Üzerindeki Kontrol Değerleriyle Çalışma


🔹 Açıklama:

C# Windows Forms, kullanıcıdan veri almayı kolaylaştıran çeşitli form kontrolleri sunar. TextBox, ComboBox, CheckBox, RadioButton, NumericUpDown, ListBox gibi elemanlarla yapılan etkileşimler sayesinde uygulamalar daha işlevsel ve kullanıcı dostu hale gelir.

Bu başlık altında:

  • Farklı form kontrollerinin değerlerinin nasıl okunacağı
  • Checked, SelectedItem, Value gibi temel özelliklerin kullanımı
  • Koşullu ifadelerle kontrol durumlarının nasıl değerlendirileceği
  • Dinamik kullanıcı etkileşimleri
  • Kontrol değerlerine göre karar alma ve işlem yapma

konuları örneklerle birlikte detaylı biçimde anlatılacaktır.


📍 Kullanım Alanları:

  • Kullanıcının seçim yaptığı formlar
  • Ayar ve tercihler içeren arayüzler
  • Sınav, anket, üyelik formu gibi uygulamalar
  • Giriş doğrulama ve seçenekli işlemler
  • Hesaplama araçları ve filtreleme sistemleri

🎯 Kazanımlar:

  • Windows Form üzerindeki farklı kontrolleri tanıma
  • Kullanıcının seçim veya giriş değerlerini işleyebilme
  • Formdan gelen veriye göre işlem yapabilme
  • Kontrol bazlı karar yapıları geliştirme
  • Etkileşimli ve sezgisel kullanıcı arayüzü tasarlama

🧪 2.5 – Form Üzerindeki Kontrol Değerleriyle Çalışma: Örnekler


📌 Örnek 1: RadioButton ile Cinsiyet Seçimi

🎯 Amaç:
Kullanıcının seçtiği cinsiyete göre mesaj gösterme.

🎨 Form Elemanları:

  • rbtnErkek (RadioButton)
  • rbtnKadin (RadioButton)
  • btnGoster (Button)

💻 Kod:

private void btnGoster_Click(object sender, EventArgs e)
{
    if (rbtnErkek.Checked)
        MessageBox.Show("Cinsiyet: Erkek");
    else if (rbtnKadin.Checked)
        MessageBox.Show("Cinsiyet: Kadın");
    else
        MessageBox.Show("Lütfen bir cinsiyet seçiniz.");
}

📝 Açıklama:
RadioButton’lar genellikle gruplu seçimler için kullanılır. Aynı anda yalnızca biri seçilebilir. Checked özelliği ile kontrol sağlanır.


📌 Örnek 2: CheckBox ile Hobi Seçimi

🎯 Amaç:
Kullanıcının seçtiği hobileri metin olarak listeleme.

🎨 Form Elemanları:

  • chkKitap, chkSpor, chkMuzik (CheckBox)
  • btnSecimleriGoster (Button)
  • lblSecim (Label)

💻 Kod:

private void btnSecimleriGoster_Click(object sender, EventArgs e)
{
    string hobiler = "Seçilen Hobiler: ";

    if (chkKitap.Checked) hobiler += "Kitap, ";
    if (chkSpor.Checked) hobiler += "Spor, ";
    if (chkMuzik.Checked) hobiler += "Müzik, ";

    if (hobiler.EndsWith(", "))
        hobiler = hobiler.Substring(0, hobiler.Length - 2);

    lblSecim.Text = hobiler;
}

📝 Açıklama:
CheckBox ile birden fazla seçim yapılabilir. Kullanıcının tercihleri tek bir metin haline getirildi ve Label ile gösterildi.


📌 Örnek 3: ComboBox ile Seçime Göre Fiyat Gösterme

🎯 Amaç:
Kullanıcının ComboBox’tan seçtiği ürüne göre fiyatını göstermek.

🎨 Form Elemanları:

  • cmbUrunler (ComboBox)
  • btnFiyat (Button)
  • lblFiyat (Label)

💻 Kod:

private void btnFiyat_Click(object sender, EventArgs e)
{
    string secilen = cmbUrunler.SelectedItem?.ToString();

    if (secilen == null)
    {
        MessageBox.Show("Lütfen bir ürün seçiniz.");
        return;
    }

    switch (secilen)
    {
        case "Kalem": lblFiyat.Text = "5 TL"; break;
        case "Defter": lblFiyat.Text = "12 TL"; break;
        case "Silgi": lblFiyat.Text = "2 TL"; break;
        default: lblFiyat.Text = "Ürün bulunamadı."; break;
    }
}

📝 Açıklama:
ComboBox’tan kullanıcı seçimi alınarak Switch-Case yapısıyla değerlendirme yapılır. SelectedItem özelliği ile seçilen değer elde edilir.


📌 Örnek 4: NumericUpDown ile Adet ve Tutar Hesaplama

🎯 Amaç:
Kullanıcının belirlediği ürün adedine göre toplam fiyatı bulmak.

🎨 Form Elemanları:

  • nudAdet (NumericUpDown)
  • btnHesapla (Button)
  • lblTutar (Label)

💻 Kod:

private void btnHesapla_Click(object sender, EventArgs e)
{
    int adet = (int)nudAdet.Value;
    double birimFiyat = 15.75;
    double toplam = adet * birimFiyat;

    lblTutar.Text = $"Toplam Tutar: {toplam:C2}";
}

📝 Açıklama:
NumericUpDown ile sadece sayısal girişe izin verilir. Hata payı düşer. Bu yapı stok ve ödeme uygulamalarında sıkça kullanılır.


📌 Örnek 5: DateTimePicker ile Yaş Hesaplama

🎯 Amaç:
Kullanıcının doğum tarihine göre yaşını göstermek.

🎨 Form Elemanları:

  • dtpDogumTarihi (DateTimePicker)
  • btnYasHesapla (Button)
  • lblYas (Label)

💻 Kod:

private void btnYasHesapla_Click(object sender, EventArgs e)
{
    DateTime dogumTarihi = dtpDogumTarihi.Value;
    int yas = DateTime.Now.Year - dogumTarihi.Year;

    if (DateTime.Now < dogumTarihi.AddYears(yas))
        yas--;

    lblYas.Text = $"Yaşınız: {yas}";
}

📝 Açıklama:
DateTimePicker kullanıcıdan güvenli şekilde tarih almayı sağlar. Doğru yaş hesaplamak için yıl karşılaştırması yapılır ve doğum günü geçmediyse 1 yıl düşülür.


✅ Özet:

Bu bölümde Windows Form üzerindeki kontrol elemanlarıyla (UI kontrolleri) etkileşimli uygulamalar geliştirildi. Her bir kontrol ile veri alma, yorumlama ve tepki verme örnekleri üzerinde duruldu.


Leave a Reply