2012-02-02 93 views
2

這是一個相當簡單的問題 - 但它迄今爲止還是擊敗了我。無法清除Winforms-ListBox

我在窗體上有兩個列表框。當用戶單擊第一個框中的項目時,第二個列表框將填充相關的值。但是有時我以後想要清除第二個列表框,使其再次顯示爲空。

但是,有下列情形的似乎工作:

lbxQuantity.Items.Clear(); 
lbxQuantity.DataSource = null; 
lbxQuantity.Text = ""; 

我如何徹底清除所有值的列表框,並讓它空白?

列表框位於WinForms應用程序廣告中我想添加一個按鈕來清除表單上的所有列表框。

+2

在哪些情況下您是否清除物品?嘗試在列表框 - 預渲染或頁面預渲染 – zdrsh 2012-02-02 07:45:47

+1

'檢查頁面加載事件,你不綁定數據源與列表框there.if然後檢查postbacks'。如果要清除所有項目,則不需要將數據源設置爲null。但是,必須在清除項目後使用work.try進行綁定。 – joshua 2012-02-02 07:48:53

+2

@Madhav:它也可能是[Winforms-ListBox](http://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.aspx),因爲它不清楚問題。 – 2012-02-02 07:54:41

回答

6

這取決於您使用哪種方法來填充ListBox

  • 如果您通過致電listBox.Items.Add手動添加項目,則可以通過listBox.Items.Clear將其清除。
  • 如果通過DataSource,DisplayMember和ValueMember屬性填充它,則可以設置DataSource = null,然後在DataSource爲空時在DataSourceChanged事件處理函數中調用listBox.Items.Clear。你當然也可以在空值賦值後立即執行。

您看到的行爲的另一種可能性可能是,只要刪除所有項目,列表框就會通過某些事件重新填充到您自己的代碼中。

+0

鏈接切換到的頁面似乎不再存在。 – Cornelis 2017-05-19 08:21:51

+0

我刪除了鏈接 – Andreas 2017-05-20 08:53:43