问题是我无法将项目从一个列表框复制到另一个列表框。除此之外,列表框位于选项卡控件的不同选项卡页面中。
我尝试了一些代码,例如:
private void MoveListBoxItems(Flowerlistbox, Total1istBox)
{
ListBox.SelectedObjectCollection sourceItems = source.SelectedItems;
foreach (var item in sourceItems)
{
destination.Items.Add(item);
}
while (source.SelectedItems.Count > 0)
{
source.Items.Remove(source.SelectedItems[0]);
}
}
private void Donebutton_Click(object sender, EventArgs e)
{
try
{
//moving all items from listbox1 to listbox2
Total1listBox.Items.AddRange(FlowerlistBox.Items);
FlowerlistBox.Items.Clear();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Total1listBox.SelectedIndex = 0;
}
foreach(var item in FlowerlistBox.SelectedItems)
{
Total1listBox.Items.Add(item);
}
private void Donebutton_Click(object sender, EventArgs e)
{
foreach(var item in FlowerlistBox.SelectedItems)
{
Total1listBox.Items.Add(item);
}
然而,它们似乎都没有起作用。
答案 0 :(得分:1)
这将首先从FlowerlistBox收集所选项目,然后将它们添加到Total1istBox,然后从FlowerlistBox中删除它们,最后清除列表。
请注意,您的代码对FlowerlistBox有不同的拼写,可能应该拼写TotalListBox。
List<object> theItems = new List<object>();
foreach (object item in FlowerlistBox.SelectedItems) theItems.Add(item);
foreach (object item in theItems) Total1istBox.Items.Add(item);
foreach (object item in theItems) FlowerlistBox.Items.Remove(item);
theItems.Clear();
首次收集项目的原因是,当我们最终要删除它们时,我们无法修改我们需要迭代的集合。