Barner
  
YAZAR :enver bilen
ALANI :Php, Mysql
ListBox Kontrolünün Kullanım Şekilleri

Bu yazımda listbox’ın kullanım şekillerini bakıcağız. İçine eleman ekleyip çıkarma işlemlerini

 

listBox1.Items.Add("eleman1");

listBox1.Items.Add("eleman2");

listBox1.Items.Add("eleman3");

listBox1.Items.Add("eleman4");

 

Şeklinde yapabiliyoruz. Elemanlardan herhangi birini silmek istediğimiz zaman ise

 

listBox1.Items.Remove("eleman3"); diyebiliriz. Yada elemanın hangi sırada olduğunu biiyorsan RemoveAt komutunu kullanabiliriz. Yani

 

listBox1.Items.RemoveAt(2); dersem 3. elemanı siler. 0’dan başladığı için saymaya 2 sayısı üçüncü elemana denk gelir.

 

Peki içeriğinin hepsini temizlemek istersek o zamanda clear komutunu kullanıcağız. listBox1.Items.Clear();

 

Herhangi bir elemanının içeriği bize lazımsa listBox1.Items[2]; komutu ile elde edebiliriz. Seçili olan elemanın içeriği lazımsa.. listBox1.SelectedValue.ToString(); diyebiliyoruz.

 

Seçili olan elemanın indexi yani kaçıncı eleman olduğu lazımsa listBox1.SelectedIndex diyoruz.

 

Kullanıcı listboxun içinden bir eleman seçtiği anda bizim bundan nasıl haberimiz olur ? Onun için hemen bir event yazalım load kısmına…

 

listBox1.SelectedIndexChanged+=new EventHandler(listBox1_SelectedIndexChanged); Bu eventi yazinca aşağıdaki fonksiyonum oluştu.

 

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

         

 

        }

 

Bu fonksiyonun içine yazdığım kodlar listboxta herhangi bir seçim işlemi yapıldığı zaman gerçekleşecek, öylese ben seçilen elemanı ekrana uyarı olarak vereyim.

 

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

            MessageBox.Show(listBox1.SelectedValue.ToString());

 

        }

 

Buraya kadar olan kısımda elemanları hep elimizle ekledik çıkardık, ben buraya veri tabanından bir veriyi ototmatik olarak bağlamak istiyorum. Bunun için linq to sql kullanıcam veriyi çekicem.

 

DataClasses1DataContext data = new DataClasses1DataContext();

            var p = from c in data.haritalars

                    select c;

 

veriyi nasıl çektiğim önemli değil, p adında bir tablom var. Ben bunu listbox’ıma nasıl bağlayacağım ona bakalım.


listBox1.DataSource = p;

listBox1.DisplayMember = "adi";

listBox1.ValueMember="no";

 

ilk işlemde listbox’ıma veri kaynağının p tablosu olduğunu gösterdim. Daha sonra ekranda p tablosunun hangi değeri gözükeceğini seçtim. Value member ise selected value ile aldığımız değerin tablonun hangi özelliği olacağını gösterdim. İşte bu kadar…

 

Kolay Gelsin, Mehmet Enver Bilen | enver_emb@hotmail.com