📘 6.4 – ComboBox ile Seçime Dayalı İşlem
🔹 Açıklama:
ComboBox, kullanıcıya seçenek sunmak ve bu seçime göre işlem yapmak için kullanılır. DropDown
yapısı sayesinde kullanıcı yalnızca belirlenen seçenekler arasından tercih yapar. Bu yapı, özellikle menü sistemleri, işlem seçim ekranları ve filtreleme alanlarında sıkça kullanılır.
Bu alt başlıkta öğrenciler:
- ComboBox’tan veri almayı
- Seçilen veriye göre koşullu işlem yapmayı
- Farklı senaryolarda ComboBox kullanmayı öğrenecekler
📍 Kullanım Alanları:
- Kullanıcı profili seçimleri (cinsiyet, yaş aralığı, şehir vs.)
- İşlem türü seçim ekranları (toplama, çıkarma, sipariş türü vs.)
- Ayarlar menüsü
- Filtreleme sistemleri (kategori, fiyat, tarih vs.)
- Raporlama ve analiz uygulamaları
🎯 Kazanımlar:
ComboBox.SelectedItem
veSelectedIndex
kullanımını öğrenme- Seçime bağlı karar yapıları oluşturma
- Basit veri kontrolüyle kullanıcı etkileşimi oluşturma
- Arayüzde dinamik yönlendirme sağlama
- Uygulamalarda kullanım kolaylığı ve görsel sadeleşme
🧪 6.4 – ComboBox ile Seçime Dayalı İşlem: Uygulamalı 5 Örnek
📌 Örnek 1: Şehir Seçimine Göre Mesaj Gösterme
🎯 Amaç:
ComboBox’tan seçilen şehre göre farklı mesaj gösterilmesi.
🎨 Form Elemanları:
cmbSehirler
(ComboBox)btnGoster
(Button)
💻 Kod:
private void btnGoster_Click(object sender, EventArgs e)
{
if (cmbSehirler.SelectedItem != null)
{
string sehir = cmbSehirler.SelectedItem.ToString();
MessageBox.Show($"{sehir} şehri seçildi.");
}
else
{
MessageBox.Show("Lütfen bir şehir seçiniz.");
}
}
📝 Açıklama:
ComboBox boş bırakılmışsa uyarı verilir, seçim yapılmışsa uygun mesaj gösterilir.
📌 Örnek 2: İşlem Türüne Göre Matematiksel Sonuç
🎯 Amaç:
ComboBox’tan seçilen işleme göre iki sayı üzerinde işlem yapmak.
🎨 Form Elemanları:
txtSayi1
,txtSayi2
(TextBox)cmbIslem
(ComboBox: Toplama, Çıkarma, Çarpma, Bölme)btnHesapla
(Button)lblSonuc
(Label)
💻 Kod:
private void btnHesapla_Click(object sender, EventArgs e)
{
double s1 = Convert.ToDouble(txtSayi1.Text);
double s2 = Convert.ToDouble(txtSayi2.Text);
string islem = cmbIslem.SelectedItem?.ToString();
switch (islem)
{
case "Toplama":
lblSonuc.Text = (s1 + s2).ToString();
break;
case "Çıkarma":
lblSonuc.Text = (s1 - s2).ToString();
break;
case "Çarpma":
lblSonuc.Text = (s1 * s2).ToString();
break;
case "Bölme":
lblSonuc.Text = s2 != 0 ? (s1 / s2).ToString() : "Bölme Hatası!";
break;
default:
lblSonuc.Text = "İşlem seçiniz.";
break;
}
}
📝 Açıklama:
Seçilen işleme göre işlem yapılır, bölme sıfıra karşı korunur.
📌 Örnek 3: Kullanıcı Rolüne Göre Yetki Gösterme
🎯 Amaç:
Seçilen kullanıcı türüne göre yetki açıklaması sunmak.
🎨 Form Elemanları:
cmbKullaniciTuru
(ComboBox: Öğrenci, Öğretmen, Yönetici)lblYetki
(Label)
💻 Kod:
private void cmbKullaniciTuru_SelectedIndexChanged(object sender, EventArgs e)
{
string tur = cmbKullaniciTuru.SelectedItem.ToString();
if (tur == "Öğrenci")
lblYetki.Text = "Ders görüntüleme yetkisi vardır.";
else if (tur == "Öğretmen")
lblYetki.Text = "Ders ekleyebilir, silebilir.";
else if (tur == "Yönetici")
lblYetki.Text = "Tüm sistem üzerinde tam yetkilidir.";
}
📝 Açıklama:
Seçim değiştikçe Label içeriği güncellenir. SelectedIndexChanged
olayı kullanılır.
📌 Örnek 4: Kategoriden Alt Kategori Üretme
🎯 Amaç:
Seçilen kategoriye göre alt kategori listesini güncellemek.
🎨 Form Elemanları:
cmbKategori
,cmbAltKategori
💻 Kod:
private void cmbKategori_SelectedIndexChanged(object sender, EventArgs e)
{
cmbAltKategori.Items.Clear();
switch (cmbKategori.SelectedItem.ToString())
{
case "Meyve":
cmbAltKategori.Items.AddRange(new string[] { "Elma", "Muz", "Portakal" });
break;
case "Sebze":
cmbAltKategori.Items.AddRange(new string[] { "Domates", "Salatalık", "Patates" });
break;
case "İçecek":
cmbAltKategori.Items.AddRange(new string[] { "Su", "Meyve Suyu", "Ayran" });
break;
}
}
📝 Açıklama:
Kategori seçimi ile alt kategoriler dinamik şekilde güncellenir.
📌 Örnek 5: Dönem Seçimiyle Ders Programı Gösterimi
🎯 Amaç:
Seçilen döneme göre derslerin listelenmesi.
🎨 Form Elemanları:
cmbDonem
(ComboBox),lstDersler
(ListBox)
💻 Kod:
private void cmbDonem_SelectedIndexChanged(object sender, EventArgs e)
{
lstDersler.Items.Clear();
if (cmbDonem.SelectedItem.ToString() == "Güz")
{
lstDersler.Items.AddRange(new string[] { "Matematik", "Fizik", "Kimya" });
}
else if (cmbDonem.SelectedItem.ToString() == "Bahar")
{
lstDersler.Items.AddRange(new string[] { "Biyoloji", "Tarih", "Coğrafya" });
}
}
📝 Açıklama:
ComboBox seçimine bağlı olarak farklı dersler ListBox’ta gösterilir.
✅ Özet:
Bu uygulamalarla öğrenciler:
- ComboBox ile seçim yapmayı
- Seçime bağlı olarak veri üretmeyi ve işlem gerçekleştirmeyi
- Koşullu işlemleri görsel öğelerle birleştirmeyi
- Kullanıcı arayüzüne anlamlı geri bildirimler eklemeyi öğrenmiş olur