Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将多个选定项从一个列表框移动到另一个列表框?_C#_Winforms_Listbox - Fatal编程技术网

C# 如何将多个选定项从一个列表框移动到另一个列表框?

C# 如何将多个选定项从一个列表框移动到另一个列表框?,c#,winforms,listbox,C#,Winforms,Listbox,我有两个名为listBox1和listBox2的列表框,两个列表框中都有4个项目(字符串)。我可以从两个列表框中选择多个项目。我还有两个按钮 单击按钮1,我必须将多个选定项目从列表框1移动到列表框2。类似地,单击按钮2,我必须将多个选定项目从列表框2移动到列表框1 如何操作?A有一个SelectedItems属性,可用于复制按钮的单击事件处理程序中的项目。像这样: foreach(var item in listBox1.SelectedItems) { listBox2.Items.A

我有两个名为
listBox1
listBox2
的列表框,两个列表框中都有4个项目(字符串)。我可以从两个列表框中选择多个项目。我还有两个按钮

单击
按钮1
,我必须将多个选定项目从
列表框1
移动到
列表框2
。类似地,单击
按钮2
,我必须将多个选定项目从
列表框2
移动到
列表框1

如何操作?

A有一个
SelectedItems
属性,可用于复制按钮的单击事件处理程序中的项目。像这样:

foreach(var item in listBox1.SelectedItems)
{
    listBox2.Items.Add(item);
}
使用: 在从1移动到2按钮的单击事件中:

MoveListBoxItems(listBox1, listBox2);
要将它们移回,请执行以下操作:

MoveListBoxItems(listBox2, listBox1);

根据这个问题,

您可以这样做。

私有无效按钮1\u单击(对象发送者,事件参数e)
private void button1_Click(object sender, EventArgs e)
  {
       foreach (var item in listBox1.SelectedItems)
        {
            listBox2.Items.Add(item);
        }
        for (int s = 0; s < listBox1.Items.Count; s++)
        {
            for (int t = 0; t < listBox2.Items.Count; t++)
            {
                if (listBox1.Items[s].ToString().Equals(listBox2.Items[t].ToString()))
                {
                    listBox1.Items.RemoveAt(s);
                }
            }
        }
  }
{ foreach(列表框1.SelectedItems中的变量项) { listBox2.Items.Add(项目); } 对于(int s=0;s
私有无效移动(列表框源、列表框目标){

for(int i=0;i listcontrol没有Items属性。将其更改为listbox
MoveListBoxItems(listBox1, listBox2);
MoveListBoxItems(listBox2, listBox1);
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);
    } 
} 
private void button1_Click(object sender, EventArgs e)
  {
       foreach (var item in listBox1.SelectedItems)
        {
            listBox2.Items.Add(item);
        }
        for (int s = 0; s < listBox1.Items.Count; s++)
        {
            for (int t = 0; t < listBox2.Items.Count; t++)
            {
                if (listBox1.Items[s].ToString().Equals(listBox2.Items[t].ToString()))
                {
                    listBox1.Items.RemoveAt(s);
                }
            }
        }
  }
private void move(ListBox source, ListBox destination) {
    for (int i = 0; i <= source.Items.Count-1; i++)
        {
           destination.Items.Add(source.Items[i]);
        }
    source.Items.Clear(); 
}
    private void Btn_Right_Click(object sender, EventArgs e)
    {

        while(ListBox_Left.SelectedItems.Count!=0)
        {
            ListBox_Right.Items.Add(ListBox_Left.SelectedItem);
            ListBox_Left.Items.Remove(ListBox_Left.SelectedItem);
        }
    }

    private void Btn_Left_Click(object sender, EventArgs e)
    {
        while (ListBox_Right.SelectedItems.Count != 0)
        {
            ListBox_Left.Items.Add(ListBox_Right.SelectedItem);
            ListBox_Right.Items.Remove(ListBox_Right.SelectedItem);
        }
    }