Bu örneğimizde C# Windows Form’ da Combobox ile seçilen mevsimde bulunan ayların Listbox üzerinde listelenmesini sağlayacağız. Örneğimizde Combobox seçim değiştiğinde kodların çalışmasını sağlayacağız. Yani Button kullanmadan örneğimizi gerçekleştireceğiz.
Form tasarımımız.
Form yüklendiğinde Combobox içini mevsimlerle dolduralım. Bunun için kodlarımızı Form_Load olayına yazıyoruz. (Form üzerinde boş bir alanda çift tıklayarak Form_Load event’ına ulaşabilirsiniz.)
1 2 3 4 5 6 7 8 9 10 |
private void Form1_Load(object sender, EventArgs e) { //Form açıldığında combobox'a mevsimler yükleniyor. comboBox1.Items.Add("İLKBAHAR"); comboBox1.Items.Add("YAZ"); comboBox1.Items.Add("SONBAHAR"); comboBox1.Items.Add("KIŞ"); } |
Bu işlemden sonra Combobox’ta bir seçim olduğunda çalışacak kodlarımızı yazacağız. Kodlarımızı comboBox üzerine çift tıklayarak comboBox1_SelectedIndexChanged olayına yazacağız. Burada seçimi index numarasına göre kontrol edeceğiz. index numarası ilk eleman için 0 (Sıfır) dan başlamaktadır. Bu yüzden İlkbahar mevsimine karşılık gelen index numarası 0, Yaz için 1, Sonbahar için 2, Kış için 3 olacaktır.
Örneği index numarası yerine if(combobox1.Text==”İlkbahar”) şeklinde de yazabilirdik. İstediğiniz yöntemi tercih edebilirsiniz.
Şimdi comboBox1_SelectedIndexChanged olayına kodlarımızı yazalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { listBox1.Items.Clear(); //Her seçimden önce listbox temizleniyor. if(comboBox1.SelectedIndex==0) // İlkbahar seçiliyse { listBox1.Items.Add("MART"); listBox1.Items.Add("NİSAN"); listBox1.Items.Add("MAYIS"); } else if(comboBox1.SelectedIndex==1) //Yaz seçiliyse { listBox1.Items.Add("HAZİRAN"); listBox1.Items.Add("TEMMUZ"); listBox1.Items.Add("AĞUSTOS"); } else if (comboBox1.SelectedIndex == 2) //Sonbahar seçiliyse { listBox1.Items.Add("EYLÜL"); listBox1.Items.Add("EKİM"); listBox1.Items.Add("KASIM"); } else if (comboBox1.SelectedIndex == 3) //Kış seçiliyse { listBox1.Items.Add("ARALIK"); listBox1.Items.Add("OCAK"); listBox1.Items.Add("ŞUBAT"); } } |
Programımızı çalıştırdığımızda ekran çıktısı şu şekilde olacaktır.
Benzer bir işlemi combobox listesini xaml da belirleyerek yapıyorum. ComboBox a çift tıkladığımda beni combobox1_SelectionChanged olayına götürüyor. Olayın altındaki kodlarımı ise if değil switch case ile yazıyorum. Fakat program hata veriyor. Her tıklamadan önce silme işlemi yazdığım kodu kabul etmiyor. Neden acaba???