listBox1 = Listbox2,WinForms仍显示第一个

时间:2012-01-03 10:06:50

标签: c# winforms reference

我有应用程序显示的listbox1。在一个方法中,我创建listBox2并通过简单的listBox1 = listBox2将其分配给listBox1。然而,WinForms仍然显示来自listBox1的项目,但它现在指向listBox2(我的意思是引用类型listBox1的值)。那是为什么?

1 个答案:

答案 0 :(得分:0)

您只是更改了对列表框的引用。但是,可视树(布局)保持不变 - 尝试从其父“Controls集合中删除第一个列表框,并将第二个列表框添加到此集合中。”

var parent = listBox1.Parent;
parent.Controls.Remove(listBox1);
parent.Controls.Add(listBox2);

要获得更准确的替换,请在listBox1集合中找到Controls的索引。