Diğer bileşenler arasında list
adlı ListView
nesnesini içeren basit bir Windows formum var. Formda, bir buton list.Items.Clear()
ile tıklandığında listeyi boşaltmamı sağlar. Bu iyi çalışıyor.Boş Liste Görünümü
Artık Test
numaralı ayrı bir sınıfa sahibim, yöntemi update()
yöntemi, form dışındaki bazı olaylarda çağrılır. Formun yapımında, SetList
yöntemini kullanarak listeye bir başvuru iletirim. Hata ayıklama modunda, tetiklediğim ve içeriği yürütüldüğüm olaylarda update()
çağrılır, ancak listemim temizlenmez.
Bu neden? Referans doğru ayarlanmış, kontrol ettim.
class Test
{
private ListView list;
public void setList(ListView list)
{
this.list = list;
}
public void update()
{
this.list.Items.Clear();
}
}
listemden daha yakından bakmak
() güncellemesinde kesme noktaları koyarak değiştirilen, liste temizlenir ve temizlenmiş kalır. Gerçekten değiştirilmiş başka bir liste gibi görünüyor, ama sadece bir tane var ve hiçbir zaman yeni bir şey yapmam ... ???? Bu işe yaramazsa sizelist
nesnenin başka bir örneğini değiştirerek olduğunuzu açıktır,
public void update()
{
this.list.Items.Clear();
this.list.Update(); // In case there is databinding
this.list.Refresh(); // Redraw items
}
:
Veri kaynağıyla bağlanan öğeler, şunu deneyin: list.DataSource = null; list.DataBind(); – sll
benim tahminim öyle değil. Ben her zaman bu this.list.Items.Add – Jerome
yöntemini ekleyerek bu gibi bir kod ile% 95, başka bir form örneğinin liste görünümünü temizlemenizdir. görünür form örneği. –