ComboBox Kullanımı ve Özellikleri

Bir kontrolün içerisinde data görüntülemek, bu yolla kullanıcıya bilgi girişi yapabilmek amacıyla seçenek sağlamak için kullanılır. Kontrol aşağıya doğru açılır ve iki bölümden oluşur. Üst tarafı bir textbox kontrolü gibi düşünülebilir ve kullanıcının metin girmesini sağlar. Ikinci bölüm ise bir ListBox kontrolü gibi düşünülebilir. Kullanıcının seçebileceği öğelerin (item) listesini oluşturur.

DropDownStyle Özelliği: combobox’ın görünümünü değiştirmek için kullanılır. Varsayılan değeri dropdown dır. Dropdown olduğu zaman TextBox ve Listbox özelliklerinden yararlanılabilir ve kullanıcı dışarıdan kontrol içerisine öğe ekleyebilir. Dropdownlist özelliği ise sadece listebox özelliğindan faydalanır. Daha önceden eklenmiş öğelere erişilenebilir. Kullanıcı veri ekleyemez.

Items Özelliği: ComboBox’a veri eklemek için kullanılır.

MaxDropDownItems Özelliği: açılan listede kaç adet verinin kaydırma çubuğunu kullanmadan gösterileceğini belirtir. Eğer değer verilmezse sekiz öğeden sonra kaydırma çubuğu gözükür.

Sorted Özelliği: Kontrol içerisinde yer alan öğelerin küçükten büyüğe veya a dan z ye sırlamasını gerçekleştirir.

SelectedIndex ve SelectedItem Özelliği: SelectedIndex, bir ComboBox’ın kontrolünün içerisinde seçilen elemanın, ComboBox içerisindeki kaçıncı öğe olduğunu bilmeye ihtiyaç duyulduğu zaman kullanılır. Hiçbir öğe seçilmemişse SelectedIndex değeri -1 dir. Eğer seçilmiş ise ComboBox içerisindeki öğeler 0 dan başlayarak indeksleyecektir. SelectedItem özelliği ise selectedindex özelliğine benzer. Farkları ise SelectedItem özelliğinin ComboBox içerinde bulunan öğelerin string değerlerini vermesidir.

Auto Complete (Otomatik Tamamlama) Kullanımı

Auto Complete yani otomatik tamamlama; C# özellikle TextBox, ComboBox kontrollerinde, metin kutusuna bir alfabe yazdığınızda bir metni otomatik olarak tamamlamak için kullanılır. Metni en hızlı şekilde aramak ve filtrelemek için kullanılır. Bu örneğimizde ComboBox içerisinde kullanarak text kısmına metin girildiği an arama ve sıralama işlemini gerçekleştireceğiz.

     //ComboBox'a tek tek veri ekleme.
     comboBox1.Items.Add("Istanbul");
     comboBox1.Items.Add("Ankara");
     comboBox1.Items.Add("Izmir");

     //ComboBox'a çoklu veri ekleme
     object[] sehirler = new object[] { "Edirne", "Bursa", "Kocaeli", "Sakarya", "Trabzon", "Rize" };
     comboBox1.Items.AddRange(sehirler);

     //ComboBox'a seçiniz yazısı ekleme
     comboBox1.Text = "Seçiniz...";

     //AutoComplete özelliğini kullanmak bir string koleksiyon oluşturuyoruz.
     AutoCompleteStringCollection collection = new AutoCompleteStringCollection();

     //Oluşturduğumuz koleksiyonamızı ComboBox'ımızdaki dataları ekliyoruz.
     for (int i = 0; i < comboBox1.Items.Count; i++)
     {
            collection.Add(comboBox1.Items[i].ToString());
     }

     //AutoCompleteStringCollection'u comboBox'un AutoCompleteCustomSource özelliğine atıyoruz.
     comboBox1.AutoCompleteCustomSource = collection;
            
     //comboBox'un otomatik tamamlama türünü seçiyoruz.
     comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            
     //comboBox'un AutoCompleteSource özelliğinin CustomSource türünde olacağını belirtiyoruz.
     comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;

     private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
     {
         //ComboBox'da seçilen değeri yakalama.
         MessageBox.Show(comboBox1.SelectedItem.ToString());
         MessageBox.Show(comboBox1.SelectedText.ToString());

         //ComboBox'da seçilen değerin indeksini yakalama.
         MessageBox.Show(comboBox1.SelectedIndex.ToString());
     }

Bir Cevap Yazın