将项目从一个列表框移动到另一个列表框
我想将项目从一个列表视图移动到另一个列表视图。 将它们添加到第二个可以工作,但移动的条目根本不会被删除。
private void MoveSelItems(ListBox from, ListBox to) { for (int i = 0; i < from.SelectedItems.Count; i++) { to.Items.Add(from.SelectedItems[i].ToString()); } from.Items.Remove(to.SelectedItem); }
我正在使用C#/ Winforms / -NET 3.5
在循环结束时尝试使用此代码
foreach ( var item in new ArrayList(from.SelectedItems) ) { from.Items.Remove(item); }
private void MoveSelItems(ListBox from, ListBox to) { while (from.SelectedItems.Count > 0) { to.Items.Add(from.SelectedItem[0]); from.Items.Remove(from.SelectedItem[0]); } }
private void MoveSelItems(ListBox from, ListBox to) { for (int i = 0; i < from.SelectedItems.Count; i++) { to.Items.Add(from.SelectedItems[i].ToString()); from.Items.Remove(from.SelectedItems[i]); } }
虽然
Items.RemoveAt(i)可能更快,如果重要的话。
您可能需要创建保留列表。
//declare List
for (int i = 0; i < ListBox3.Items.Count; i++) { ListBox4.Items.Add(ListBox3.Items[i].Text); ListBox3.Items.Remove(ListBox3.SelectedItem); }