ListView, liste elemanlarını ekleyip/sıralayabileceğimiz, elemanlar içinde arama yapabileceğimiz bir Windows bileşenidir. Görünümü DataGridView gibidir. Kullanım amacı olarak ListBox bileşenine benzer fakat ondan çok daha gelişmiş özelleri vardır.



Örneğin, CheckedListBox’ta olduğu gibi elemanların yanına CheckBox ekleyebilir ya da her elemana ikon ekleyebiliriz. Listbox ve CheckedListBox’tan farklı olarak dilersek çok sütunlu olarak kullanabiliriz.

ListView Özellikleri (Properties)



Özelliklerin hepsini yazmaya gerek yok sanırım, sadece ListView kullanmamız gerekli olan durumlarda kullanacağımız özelliklerden bahsedeceğim.

Columns



ListView içindeki sütunların tutulduğu özelliktir. Columns.Add methodu ile yeni bir sütun ekleyebilirsiniz. En basit kullanımıyla, birinci parametre sütun adı, ikincisi ise sütun genişliğidir.

listView1.Columns.Add("Ad", 100);
listView1.Columns.Add("Soyad", 100);
listView1.Columns.Add("Meslek", 100);


Sütunları eklediğinizde ilk başta görünmeyecektir. Görünür kılmak için View özelliğini Details olarak ayarlamalısınız.

// sütunları görmek istiyorum
listView1.View = View.Details;


Columns.Remove methodu ile istediğiniz bir sütunu ya da Columns.Clear methodu ile tüm sütunları silebilirsiniz. Ayrıca Columns.Count özelliği toplam sütun sayısını verir.

Items



ListView içindeki elemanların tutulduğu listedir ve türü ListViewItemCollection’dır. Items.Add methodu yeni eleman eklemeye yarar ve parametre olarak ListViewItem nesnesi gönderilir. Oluşturulan elemanlar sütun sayısına göre string veya string[] (dizi) olarak gönderilebilir.

// yeni eleman ekle (tek sütun)
listView1.Items.Add(new ListViewItem("Yenikod.com"));


Birden fazla sütun varsa:

// yeni eleman ekle (çok sütun)
string[] sutunlar = { "Google", "YouTube", "Yenikod.com", "Facebook" }; // Dizideki eleman sayısı sütun sayısından fazla olmamalıdır.
listView1.Items.Add(new ListViewItem(sutunlar));


Items.Remove methodu, parametre olarak gönderilen ListViewItem nesnesini listeden kaldırır. Örneğin, seçili elemanları silmek için:

// seçili elemanlar SelectedItems içinde bulunur
foreach (ListViewItem item in listView1.SelectedItems)
{
listView1.Items.Remove(item);
}


Items.Clear methodu liste içindeki tüm elemanları silmenizi sağlar.

// alayını sil
listView1.Items.Clear();


Items.Count özelliği liste içindeki toplam eleman sayısını verir.

int kacTane = listView1.Items.Count;
MessageBox.Show("ListView içinde " + kacTane + " tane eleman var.");


Kaynak | Ayrıntılar & Örnek Proje