C# ComboBox Kullanımı,Özelikleri,Eleman Ekleme-Silme Vb İşlemler

   Bu konuda C#'ta ComboBox nedir,görsel arayüzle Combobox'a nasıl eleman eklenir,kod satırından nasıl eleman eklenir,ComboBox'tan eleman nasıl silinir,seçili olan elemanın numarasına nasıl ulaşılır,TextBox kontrolüne girilen yazılar nasıl ComboBox'a aktarılır,SelectedIndexChanged olayı nedir sorularının cevaplarını göreceğiz.Ayrıca Properties panelindeki bazı ComboBox olayları-metodlarını inceleyeceğiz. csharp-combobox-kullanimi-1


 C# ComboBox Kontrolünün Genel Özellikleri


Combobox,sıralı olarak görünmesi istenen yazıları basılınca açılan bir liste olarak kullanıcıya gösteren bir kontroldür.En çok kullanılan form elamanlarından biridir.Properties ayarlarından ComboBox'la ilgili birçok özellik ayarlanabilir.Örneğin boyutu,font rengi-büyüklüğü,arka plan rengi,en fazla yazı uzunluğu,form üzerinde gösterme yada gizleme,ComboBox olayları vb.Properties ayarlarından yapılabilecek birçok işlem istenirse kod yazılarakta yapılabilir.Bunlarla ilgili birçok özelliği deneyerek kontrol edebilirsiniz.Aşağıda birkaç tane örnek verilmiştir.
comboBox1.Size = new System.Drawing.Size(245, 25);
comboBox1.BackColor = System.Drawing.Color.Orange;
comboBox1.ForeColor = System.Drawing.Color.Black;
Properties bölümündeki Text Özelliği Combobox'un başlığındaki görünen yazıdır.İstenirse kod bölümünden de değiştirilebilir.
comboBox1.Text = "Seçiniz";

ComboBox'a Kod Yazmadan Eleman Ekleme

 

csharp-combobox-kullanimi-2


Yukarıda görüldüğü gibi ComboBox kontrolünün sağ üst köşesindeki küçük ok işaretine tıklıyoruz,Edit Items deyip gelen bölümden görünmesini istediğimiz elemanların isimlerini alt alta yazıyoruz.Sonrasında OK butonuna tıklıyoruz.Burada Use Data Bound Item seçilirse ComboBox herhangi bir veritabanına bağlanıp,ordan listeler gösterilebilir.

ComboBox'a Kod ile Eleman Ekleme           


comboBox1.Items.Add("Photoshop");

comboBox1.Items.Add("Flash");

comboBox1.Items.Add("illustrator");

comboBox1.Items.Add("Dreamweaver");

Yukarıda görüldüğü gibi Items.Add methodu ile kolayca ComboBox'a eleman eklenebiliyor.Eklenen birinci elemanın sıra numarası her zaman 0'dır.Sırasıyla 0.1,2.. şeklinde devam eder.

    ComboBox'tan Kod ile Eleman Silme

 

    İki şekilde ComboBox'tan elaman silinebilir.
  1.     Eleman Numarasıyla Silme:Aşağıdaki kod,numarası 0 olan,yani birinci sıradaki elamanı silecektir.İlk elemanın her zaman 0'la başladığını görmüştük.
    comboBox1.Items.RemoveAt(0);
    
  2.     Doğrudan İsimle Eleman Silme:Aşağıdaki kod ise doğrudan elemanın ismine bakarak Photoshop ismindeki elemanı silecektir
    comboBox1.Items.Remove("Photoshop");
    

    

ComboBox'ta Seçili Elemanın Sıra Numarasını Öğrenme

int siraNo;
siraNo = comboBox1.SelectedIndex;
Yukarıda kodlarda önce sıra numarasını tutacak olan Int türünden bir değişken oluşturuyoruz.
Sonrasında SelectedIndex metodunun kullanarak ComboBox kontrolünde hangi eleman seçildiyse onun numarasını bu değişkene atıyoruz.Bu işlemi yaparak istediğimiz yerde ComboBox'un seçili elemanının sıra numarasını kullanabiliriz.

TextBox'a Girilen Yazıları ComboBox'a Aktarmak

 

csharp-combobox-kullanimi-3

Bu işlemde yine oldukça basit bir işlemdir.Yukarıdaki resimde olduğu gibi formumuza bir tane ComboBox,bir tane TextBox ve aktarma işlemini yapacak bir tane de Button kontrolü ekliyoruz.Aktarılmasını istediğimiz yazıları TextBox'a yazıyoruz ve YazıAktar butonuna basıyoruz.Aşağıda görüldüğü üzere yazılarımız artık ComboBox'un birer elemanı olmuş durumda.
csharp-combobox-kullanimi-4

Burada eğer TextBox kontrolünün Properties ayarlarından Multiline özelliğini true yaparsanızTextBox'a yazılan yazılar alt alta görünür hale gelir.Diğer türlü tek bir satır şeklinde görünür.
        private void btnYaziAktar_Click(object sender, EventArgs e)

        {

            comboBox1.Items.Add("Photoshop");

            comboBox1.Items.Add("Flash");

            comboBox1.Items.Add("illustrator");

            comboBox1.Items.Add("Dreamweaver");

        }        

ComboBox SelectedIndexChanged Olayı 

 

SelectedIndexChanged olayında ComboBox'taki seçili eleman değiştiği zaman çalışması istenen kodlar çalıştırılır.Örneğin ComboBox'un seçili elemanı değiştigi zaman Buton renginin yeşil olmasını istiyoruz.Bunun için önce ComboBox kontrolünün üzerine Fare ile çift tıklayıp metodun kod kısmında oluşmasını sağlıyoruz.Sonrasında bu metodun içerisine aşağıdaki kodları ekliyoruz.
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            btnYaziAktar.BackColor = Color.Red;
        }
Bu metod içine seçili eleman değiştiği zaman çalışmasını istediğimiz her türlü kodu yazabiliriz.Aşağıdaki resimde yazdığımız kod çalışmış ve ComboBox'un seçili elemanı değiştiği zaman buton rengi kırmızıya dönmüş durumda.

csharp-combobox-kullanimi-5

Bazı ComboBox Events(Olaylar)'larını İnceleyelim 

 

 csharp-combobox-properties-paneli


 ComboBox kotrolünün  Properties panelinde bu kontroller ilgili birçok ayara,olaylara ulaşılabilir.Bu panelde birçok olay tanımlanmıştır.Biz konuyu anlamak için sadece MouseEnter olayını göreceğiz.Öncelikle ComboBox olaylarına gelmek için üstteki resimde görüldüğü gibi kırmızı çerçeveyle işaretlenmiş olan şimşek resmine tıklıyoruz ve karşımıza ComboBox kontrolüyle ilgili olayların olduğu bölüm geliyor.MouseEnter yazısının yanındaki beyaz boş bir alana(resimde kırmızı noktayla işaretlenmiştir) çift tıklıyoruz ve Visual Studio bizim için kod bölümünde olayın metodunu oluşturuyor.Sonrasında buraya çalışmasını istediğimiz kodları yazıyoruz.MouseEnter fareyi ComboBox'un üzerine getirdiğimizde çalışan bir olaydır.Bu örnekte fare ComboBox'un üzerine geldiğinde Buton renginin yeşil olmasını istiyoruz.Bunun için aşağıdaki kodlar bize yeterli olacaktır.
        private void comboBox1_MouseEnter(object sender, EventArgs e)

        {

            btnYaziAktar.BackColor = Color.Green;

        }
  
csharp-combobox-kullanimi-6

Resimde görüldüğü gibi kodlar çalıştı ve fare kontrolün üzerine geldiğinde Butonun arka plan rengi yeşile döndü.Events bölümünde buna benzer daha birçok olay bulunmaktadır.Bunlar yeri geldikçe ve deneme-yanılma yöntemiyle daha iyi öğrenilebilir.



5 yorum:

  1. Gerçekten kapsamlı ve güzel bi anlatım olmuş..teşekkürler..

    YanıtlaSil
  2. gencyazilimci27 Mart 2014 03:30

    merhaba yazı için teşekkürler.benim bi sorum olacaktı.access veritanındaki verileri comboboxta göstermek istyorum fakat tam başaramadım.biraz bilgi verebilirmisiniz acaba?

    YanıtlaSil
  3. Kapsamlı bir anlatım olduğu doğru. Ama şunu da eklersen daha iyi olur. Combobox da seçili elemanı silmek için
    combobox.Items.Remove(combobox.SelectedItem); kodunu kullanırız.

    Bu kodu da koyarsan sitene girenler aradığını bulabilir. Çünkü bende senin sitene bunu öğrenmek için girdim ancak bunu yazmamışsın . Benimki sadece bi tavsiye yanlış anlama :)

    YanıtlaSil
    Yanıtlar
    1. Gözden kaçanlar olabiliyor,teşekkürler

      Sil
  4. https://www.youtube.com/watch?v=_k1e0pIaPIs Burada Kolay Anlatımı Vardır.Beğenmeyi Unutmayalım :D

    YanıtlaSil