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


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

  • 相关阅读:
    linux red hat 安装svn
    java 发送post请求参数中含有+会转化为空格的问题
    MySQLFabric概述
    Checkstyle-Configuration
    CheckStyle检查规则中文翻译
    编码规范系列(一):Eclipse Code Templates设置
    pom配置详解
    maven配置(安装&使用&私服)文档
    maven最全教程
    cmd命令大全/cmd命令提示符大全
  • 原文地址:https://www.cnblogs.com/insus/p/2317207.html
Copyright © 2011-2022 走看看