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

private void button2_Click(object sender, EventArgs e)

this.listBox1.Items.RemoveAt(this.listBox1.SelectedIndex);
}
现在的情况是,如果我在Listbox选中了两个item,点击一次button只删除一个,需要再点击一次才能删除第二个选中项。
按照这样的话我如果我选中了多项的话,需要点击多次才能删除我的所有选中项了。。。
请高手指教,怎样写才能点击一次button就能删除选中项。多谢啦~
(我是刚学程序的,很多都不会,也许这个问题很弱智,还请多多包涵~~)

凤凰求蛊
浏览 968回答 2
2回答

千巷猫影

if (listBox1.Items[i].selected)this.listBox1.Items.RemoveAt(i);} 这样明显有问题 你item里面有10个元素 你删了3个 还有几个? remove 1之后 原来的2就变成了1 原来的1被移除了 你在移除2 就是移除的是3ListBox 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);}按我写的这样弄吧

DIEA

方法1void 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);}}}方法2void 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);}}
打开App,查看更多内容
随时随地看视频慕课网APP