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);
}
}