将项目从一个ListBox交换到另一个

时间:2019-02-03 00:03:48

标签: c# listbox

我试图在两个ListBox控件中交换项目,但仅添加了单词“((收藏)”)。为什么?

enter image description here

1 个答案:

答案 0 :(得分:1)

您正在向ListBox添加一个元素,它是元素的集合ListBox.ObjectCollection
在该对象上调用ToString()方法,返回对象类型(Collection)。

要交换项目,您可以使用一个临时存储设备,该存储设备保存一个ListBox的项目集合,清除其Items集合,添加第二个ListBox的项目,清除第二个ListBox并添加Items的第一个,使用临时存储作为源:

var itemsL1 = new ListBox.ObjectCollection(listBox1, listBox1.Items);
listBox1.Items.Clear();
listBox1.Items.AddRange(listBox2.Items);
listBox2.Items.Clear();
listBox2.Items.AddRange(itemsL1);

如果未使用DataSource属性填充ListBoxes Items集合,则此方法有效。
否则,交换数据源。