for (int i=listBox2.SelectedItems.Count-1;i>=0;i--)
{
listBox2.Items.Remove(listBox2.Items[i]);
}

解决方案 »

  1.   

    ListItem myList;
    foreach (myList in listBox2.SelectedItems)
    {
       listBox2.Items.Remove(myList);
    }
      

  2.   

    foreach似乎是不行,我也遇到过这个问题.
    拿ListView来说吧,因为每次删除Item之后,ListViewItems和SelectedItems都会发生变化,所以需要从后向前删除.比如:
    for(int i = listView1.SelectedItems.Count -1; i>=0; i--)
    {
    ListViewItem lvi = listView1.SelectedItems[i];
    listView1.Items.Remove(lvi);
    }我的做法是: 
    int ItemNum = listView1.SelectedItems.Count;
    for(int i=0; i< ItemNum; i++)
    {
        listView1.Items.Remove(listView1.SelectedItems[0]);
    }
      

  3.   

    这样不行的,因为当你删除一个项后,其listbox1.Items.Count变少了,所以循环失败!
      

  4.   

    bluesx(独上西楼) (2002-2-1 16:20:02)  得0分 
    for (int i=listBox2.SelectedItems.Count-1;i>=0;i--)
    {
            listBox2.Items.Remove(listBox2.Items[i]);

    这段代码我调试过的,没有问题。