C# 如何在两个列表框之间同步多个选择索引?

C# 如何在两个列表框之间同步多个选择索引?,c#,winforms,C#,Winforms,我正试图使用以下代码将所选内容从listbox1移动到listbox2 if (listBox1.SelectedItems.Count > 0) { int selectedindex = listBox1.SelectedIndex; for (int i =0 ; i < listBox1 .SelectedItems.Count; i++) { listBo

我正试图使用以下代码将所选内容从listbox1移动到listbox2

if (listBox1.SelectedItems.Count > 0)
        {
            int selectedindex = listBox1.SelectedIndex;
            for (int i =0 ; i < listBox1 .SelectedItems.Count; i++)
            {
                listBox2.SetSelected(selectedindex , true);
            }
        }
if(listBox1.SelectedItems.Count>0)
{
int selectedindex=列表框1.selectedindex;
对于(int i=0;i
我得到了一个结果,但当我在listbox1中选择多个项目时,它只会在listbox2中选择一个项目,这是我在listbox1中选择的第一个项目。

您必须将属性设置为允许多个选择。您可以在属性窗口或加载事件中进行设置

listBox2.SelectionMode.MultiExtended = SelectionMode.MultiExtended;

您只在
selectedIndex
中存储了
listbox1
的一个选择索引。在循环的后面,您总是指示
listbox2
将其选择设置为此索引

请尝试以下方法:

foreach (int index in listBox1.SelectedIndices)
{
    listBox2.SetSelected(index, true);
}

SelectionMode的值是多重扩展的,但它不起作用。我试图在消息框中显示它,如下所示
int-selectedindex=listBox1.selectedindex;对于(int i=0;i
当我选择3个项目时,它会在MessageBox中显示3次0。仅当我选择一个项目时,它会显示它的索引,一旦我想要索引而不是项目