C#怎样把listbox里的多个选中项一次性删除?

2025-01-01 05:21:39
推荐回答(2个)
回答1:

if (listBox1.Items[i].selected)

this.listBox1.Items.RemoveAt(i);

} 这样明显有问题 你item里面有10个元素 你删了3个 还有几个? remove 1之后 原来的2就变成了1 原来的1被移除了 你在移除2 就是移除的是3

ListBox a1 = new ListBox();

object[] selected_objs = new object[a1.SelectedItems.Count];

a1.SelectedItems.CopyTo(selected_objs, 0);

foreach (object oval in selected_objs)

{

a1.Items.Remove(oval);

}

回答2:

if (listBox1.Items[i].selected)
this.listBox1.Items.RemoveAt(i);
} 这样明显有问题 你item里面有10个元素 你删了3个 还有几个? remove 1之后 原来的2就变成了1 原来的1被移除了 你在移除2 就是移除的是3

ListBox a1 = new ListBox();
object[] selected_objs = new object[a1.SelectedItems.Count];
a1.SelectedItems.CopyTo(selected_objs, 0);
foreach (object oval in selected_objs)
{
a1.Items.Remove(oval);
}

按我写的这样弄吧