zoukankan      html  css  js  c++  java
  • ListBox控件怎样删除选择的多个Item(c#,经典)

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

                       }

                  }

             }

            有一种方法更简单:

                while (listBox1.SelectedItems.Count != 0)
                {

                    listBox1.Items.RemoveAt(listBox1.SelectedIndices[0]);
                }

                while (listBox1.SelectedItems.Count != 0)
                {

                    listBox1.Items.RemoveAt(listBox1.SelectedIndices[0]);
                }


     

  • 相关阅读:
    【BZOJ3028】食物(生成函数基础题)
    【BZOJ2438】[中山市选2011] 杀人游戏(Tarjan)
    【BZOJ4833】[Lydsy1704月赛] 最小公倍佩尔数(神仙数学题)
    【BZOJ2109】【BZOJ2535】[NOI2010] 航空管制(拓扑反向建图)
    【BZOJ2679】[USACO2012 Open] Balanced Cow Subsets(Meet in Middle)
    【BZOJ3091】城市旅行(再次重拾LCT)
    sass与compass实战
    【Sass初级】开始使用Sass和Compass
    nodejs、sass、backbone等api地址
    解读2015之前端篇:工业时代 野蛮发展(转)
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1373573.html
Copyright © 2011-2022 走看看