zoukankan      html  css  js  c++  java
  • 清除ListBox的列表项(删除所有项目)

    如何清除ListBox的列表项(删除所有项目), 今天开发程序时,有尝试使用此功能。一开始并不是很顺利。循环所有item去做remove时,需要执行两次才可以完成清除。debug进行步进跟踪,发现在Listbox.Items.Count 每移除一个,Count随之减少,而Capacity并没有作相应变化。

    在网上搜索相关资料,相当多用户有相同要求,一次移除ListBox的列表所有项。方法均是用:

    View Code
    for (int i = 0; i < Listbox1.Items.Count; i++)
            {
                Listbox1.Items.RemoveAt(i);
            }

    或者:

    View Code
    foreach (ListItem li in ListBox1.Items)
            { 
                ListBox1.Items.Remove(li);
            }

    而后者会出现异常: Collection was modified; enumeration operation may not execute.

    不管怎样,下面是Insus.NET的解决方法,写一个迭代器:

    View Code
    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);
            }
        }

    在清除铵钮事件中写:

    View Code
     protected void ButtonClear_Click(object sender, EventArgs e)
        {  
           IterationRemoveItem(this.ListBox1);       
        }


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

  • 相关阅读:
    objectivec 多个参数的函数的例子
    EDM 电子邮件制作规范
    一封让老总流泪的辞职申请书
    10个优秀的JavaScript参考手册
    应聘需知
    理解内联(display:inline)和浮动(float:left;)的区别
    写CSS常见错误,童鞋们注意了
    15个css常识
    经典设计网站推荐
    2011年春运电话订火车票流程
  • 原文地址:https://www.cnblogs.com/insus/p/2317207.html
Copyright © 2011-2022 走看看