C# 将项目从一个列表框交换到另一个列表框
我试图交换两个C# 将项目从一个列表框交换到另一个列表框,c#,listbox,C#,Listbox,我试图交换两个列表框控件中的项目,但只添加了单词“(Collection)”。为什么? 您正在向列表框添加一个元素,该元素是元素的集合,ListBox.ObjectCollection 对该对象调用ToString()方法,返回对象类型(Collection) 要交换项目,您可以使用一个临时存储来保存一个列表框的项目集合,清除其项目集合,添加第二个列表框的项目,清除第二个列表框并添加第一个列表框的项目,使用临时存储作为源: var itemsL1 = new ListBox.ObjectColl
列表框控件中的项目,但只添加了单词“(Collection)”。为什么?
您正在向列表框添加一个元素,该元素是元素的集合,ListBox.ObjectCollection
对该对象调用ToString()
方法,返回对象类型(Collection
)
要交换项目,您可以使用一个临时存储来保存一个列表框的项目集合,清除其项目
集合,添加第二个列表框的项目,清除第二个列表框并添加第一个列表框的项目,使用临时存储作为源:
var itemsL1 = new ListBox.ObjectCollection(listBox1, listBox1.Items);
listBox1.Items.Clear();
listBox1.Items.AddRange(listBox2.Items);
listBox2.Items.Clear();
listBox2.Items.AddRange(itemsL1);
如果未使用DataSource
属性填充列表框项集合,则此操作有效。
否则,交换数据源 不要添加代码图片,谢谢,因为您将整个集合作为单个项目添加,而不是单独添加集合中的每个项目。循环遍历items集合并一次添加一个,或者使用AddRange
方法添加一个项目集合。