程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> a.sp.net清除ListBox的列表項(刪除所有項目)

a.sp.net清除ListBox的列表項(刪除所有項目)

編輯:ASP.NET基礎
如何清除ListBox的列表項(刪除所有項目), 今天開發程序時,有嘗試使用此功能。一開始並不是很順利。循環所有item去做remove時,需要執行兩次才可以完成清除。debug進行步進跟蹤,發現在Listbox.Items.Count 每移除一個,Count隨之減少,而Capacity並沒有作相應變化。

在網上搜索相關資料,相當多用戶有相同要求,一次移除ListBox的列表所有項。方法均是用:
復制代碼 代碼如下:
for (int i = 0; i < Listbox1.Items.Count; i++)
{
Listbox1.Items.RemoveAt(i);
}

或者:
復制代碼 代碼如下:
foreach (ListItem li in ListBox1.Items)
{
ListBox1.Items.Remove(li);
}

而後者會出現異常: Collection was modified; enumeration operation may not execute.
不管怎樣,下面是Insus.NET的解決方法,寫一個迭代器:
復制代碼 代碼如下:
private void IterationRemoveItem(ListBox listbox)
{
for (int i = 0; i < listbox.Items.Count; i++)
{
this.ListBoxCondition.Items.RemoveAt(i);
}

for (int j = 0; j < listbox.Items.Count; j++)
{
IterationRemoveItem(listbox);
}
}

在清除铵鈕事件中寫:
復制代碼 代碼如下:
protected void ButtonClear_Click(object sender, EventArgs e)
{
IterationRemoveItem(this.ListBox1);
}

可以從下面看到操作效果:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved