分享

如何用C#一次删除ListBox控件中选择的多项?

 缘木求鱼001 2012-09-20
如何用C#一次删除ListBox控件中选择的多项?

Listbox控件在每次删除完选定的项后都是重新更新项索引。如果程序思路是从索引0开始循环删除选定的项,就不能达到程序要求,由于删除一个,后面的项索引就会减一。明白了这个原理之后,我们可以从最后得索引往前搜索,就不会出问题了。

方法1(从网上搜的)

void Btn_DeleteClick(object sender, System.EventArgs e)
   {
    ListBox.SelectedIndexCollection indices =this.listBox1.SelectedIndices;
    int selected=indices.Count;
    if(indices.Count>0)
    {
         for(int n=selected -1;n>=0;n--)
        {
             int index =indices[n];
            listBox1.Items.RemoveAt(index);
       }
   }
   }

方法2(自己写的)

void Btn_DeleteClick(object sender, System.EventArgs e)
   {
for(int i=this.listBox1.Items.Count-1;i>=0;i--)
    {
     this.listBox1.Items.Remove(this.listBox1.SelectedItem);
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多