C# - WPF APPLICATION - LISTBOX KULLANIMI
Merhabalar, bugün size listbox kontrolünün kullanımını göstereceğim.
Önce, listbox dediğimiz şeyi tanıyalım. Soldaki toolbox menümüzden listbox'ı bulun ve forma ekleyin. Ben size basit bir program üzerinden listbox kullanımını öğreteceğim, o yüzden form hazırladım.
Alınız form.
Gördüğünüz gibi, 2 tane kocaman listbox kontrolümüz var. Ayrıca, ekle, sil ve temizle buttonlarımız var. Düşündüğünüz gibi, listbox kontrollerine ekleme, silme ve temizleme işlemleri uygulayacağız.
Listbox'ın sonunda koyduğumuz nokta ile listbox ile ilgili bilgiler önümüze gelir. Yani, forma listbox1 adında bir listbox eklediysek, listbox1.Items. dediğimiz anda tüm özellikler kutucukta belirir. Items nesne anlamına gelir. Yani, listbox ile ilgili yapılacak işlemler, nesneler, uygulamalar anlamı taşıyor dostlarım.
Önce ekleme işlemi. Ekleme işlemini türlü yollardan yapabilirsiniz.
1) Listbox1.Items.Add;
Bu komut, listbox'a veri eklemek içindir. Add komutu eklemektir zaten.
NOT = Listbox'a eklenen her veri object türündedir. Object yani "obje" int yada string gibi bir tür değildir.
İşte kod. MainWindow'un hemen altına yazarsanız, listbox'a veriler dizilecektir. Gördüğünüz gibi, string, int, char, bool türünden veriler girebiliyorsunuz.
Bakınız formun görünümü.
2)Textbox'dan veri çekmek.
Textbox'a girilen veriyi listbox'a çekeceğiz. Bunu göstereceğim.
3)Items.
Ve yine hayatımızı kurtaran items. Combobox kontrolünde de yaptığımız gibi, bunda da items den veri girdireceğiz.
Önce listbox kontrolümüze tıklayıp sağda açılan properties penceresinden items'i buluyoruz. Sonra 3 noktaya tıklayıp açılan pencerede add diyoruz. Ama önce, aşağıdaki listboxitem yazan yeri ayarlamamız gerekiyor. Combobox da çıkan sorun burdada var çünkü. Listboxitem'i ayarladıktan sonra add'e tıklayıp Content yerinden verileri girdireceğiz. Combobox da olduğu gibi, listbox da 0. index den başlıyor. Dikkatli olunuz.
Veriler girildikten sonra OK'a tıklayın. Kaydoldu.
Form bu şekilde karşımıza çıkar.
Şimdi, eklemeyi yaptıralım.
private void ekle_Click(object sender, RoutedEventArgs e)
{
listbox1.Items.Add(ad.Text);
listbox2.Items.Add(soyad.Text);
ad.Clear();
soyad.Clear();
}
Ekle buttonumun adını yine ekle yaptım çünkü karıştırabilirim. Ekle butonunun altında ad ve soyad textboxlarına girilen verileri çekip listboxlarımın içine attım. listbox1'e ad, listbox2'ye soyad bilgilerini gönderdim. Ve düşündüm, bilgileri listbox'a ekledikten sonra textboxlarımın içinde bilgi kalmaması daha güzel olur. Hemde uğraştırıcı olmaz. O yüzden ad ve soyad textboxlarımı Clear komutuyla temizledim.
Bakınız böyle.
Silme işlemine geçelim.
private void sil_Click(object sender, RoutedEventArgs e)
{
listbox1.Items.Remove(listbox1.SelectedItem);
listbox2.Items.Remove(listbox2.SelectedItem);
}
Sil butonunun altındayız. Şimdi, burada listbox1'den seçilen veriyi sildireceğim. listbox1'de remove komutunu kullanıyorum. Remove, kaldırmak demek. Yani seçili öğeyi kaldıracağım. listbox1.SelectedItem komutu, listbox'daki seçili veri demek. Selected item = seçili nesne, seçili veri.
Remove ve RemoveAt adında iki tane kaldırma komutumuz var. Remove, seçili öğelerde, RemoveAt ise index numarasına bağlı kaldırmalarda kullanıyor. Mesela, listbox1.Items.RemoveAt(0) gibi. 0. indexte ki öğeyi kaldır.
Tabi, Ad'a tıklayınca soyadınında kaldırılması gerekiyor ama bu çok büyük programlarda olabilir. Ama bu işlem sıkıntılı. Çünkü veriler object türünde ve sıkıntı yaratıyor. Int'e çevirsek bile program hata veriyor.
Böyle de yapabilirsiniz. Ctrl ile adı ve soyadı işaretlerseniz ikisini birden silme şansınız var.
Temizle işlemi.
private void Temizle_Click(object sender, RoutedEventArgs e)
{
listbox1.Items.Clear();
listbox2.Items.Clear();
}
Clear komutu burada da var. listbox'ın içerisindeki tüm verileri aynı anda silmek için kullanıyoruz.
Bakınız program budur.
Tüm program sorunsuz çalıştığına göre, başarılıyız demektir.
Basit bir program yaptık. Bunun üzerine bilgilerinizi ekleyip programı geliştirebilirsiniz. İyi günler dilerim :)