我有一個簡單的Windows窗體包含其他組件,一個ListView
對象名爲list
。在表單上,按鈕使我可以用list.Items.Clear()
清空點擊列表。這工作正常。清空ListView
現在我有一個單獨的類Test
,其方法update()
在窗體外部的某些事件上被調用。在構建表格時,我使用SetList
方法將參照傳遞給列表。在調試模式下,update()
在我觸發的事件上被調用,並且它的內容被執行,但是我的列表沒有被清除。
這是爲什麼?這個參考資料是正確的,我檢查過。
class Test
{
private ListView list;
public void setList(ListView list)
{
this.list = list;
}
public void update()
{
this.list.Items.Clear();
}
}
當我仔細查看我的列表,通過在update()中放入斷點來修改列表時,list被清理並保持清理狀態。它真的好像是另一個被修改的列表,但我只有一個,並且從來沒有做過任何新的事情...... ????
如果通過數據源綁定的項目嘗試'list.DataSource = null; list.DataBind();' – sll
我的猜測是它不是。我總是通過方法添加this.list.Items.Add – Jerome
這樣的代碼95%的可能性是,你正在清除另一個表單實例的列表視圖,這是不可見的,因爲你用新創建它而不是使用可見的表單實例。 –