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
