登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秒大刀 博客

好好学习 天天向上

 
 
 

日志

 
 
 
 

ListBox控件怎样删除选择的多个Item  

2007-03-24 18:40:24|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    ListBox控件默认情况下只可以进行单选,如要进行多选操作,需要将SelectionMode属性设置成SelectionMode.MultiSimple。

    如果需要将ListBox选择的多项Item删除,或要进行其它的操作该怎样捕获这些信息呢?

        private void button_deleteSelected_Click(object sender, EventArgs e)
         {
              ListBox.SelectedIndexCollection sic = listBox_demo.SelectedIndices;//得到选择的Item的下标
              if (sic.Count == 0)
                   return;
              else
              {
                   //  将选择的Item放入list中
                   List<int> list = new List<int>();
                   for (int i = 0; i < sic.Count; i++)
                   {
                       list.Add(sic[i]);
                   }
                   list.Sort();//对list进行排序(库里默认的排序结果一般指的是从下到大的排序)
                   while(list.Count != 0)//按照下标从大到小的顺序从ListBox控件里删除选择的Item
                   //如果这里采用其它顺序则可能破坏下标的有效性
                   {
                       listBox_demo.Items.RemoveAt(list[list.Count - 1]);
                       list.RemoveAt(list.Count - 1);
                   }
              }
         }

    这段代码是今天miaochaosong向我索取的。在这里我祝愿他一切顺利!


2011-12-12

    phil hong提供了更整洁的方案:

while(this.listBox_demo.SelectedItems.Count > 0)
{
    this.listBox_demo.Items.Remove(this.listBox_demo.SelectedItem);
}

  评论这张
 
阅读(3083)| 评论(7)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018