如何删除ListBox中的多个选定项?

sag*_*gar 6 c# listbox winforms

我的Windows窗体包含两个列表框.Listbox1中包含一些项目,listbox2为空.当我按下表单上的按钮时,应从Listbox1中删除listbox1中的多个选定项目并将其复制到Listbox2.

我尝试使用listbox1.SelectedItems上的foreach循环,但它只从列表中删除了1个项目.

任何人都有解决方案或代码吗?

Ste*_*eve 19

你可以在一个循环中完成所有操作.你应该在SelectedIndices上使用一个简单的for和loop向后循环:

private void button1_Click(object sender, EventArgs e) 
{ 
    for(int x = listBox1.SelectedIndices.Count - 1; x>= 0; x--)
    { 
        int idx = listBox1.SelectedIndices[x];
        listBox2.Items.Add(listBox1.Items[idx]); 
        listBox1.Items.RemoveAt(idx);
    } 
} 
Run Code Online (Sandbox Code Playgroud)