1
我有一个窗口窗体,它具有一个控件treeViewMain,并且在代码中我有一个treeViews列表,它具有可变数目的treeViews。我希望treeViewMain从列表中显示任何treeView。从其他TreeView引用TreeView
treeViewMain=treeViews[0];
但窗体没有显示树。此外,我已经彻底检查列表中的树视图,它们正确填充。
我有一个窗口窗体,它具有一个控件treeViewMain,并且在代码中我有一个treeViews列表,它具有可变数目的treeViews。我希望treeViewMain从列表中显示任何treeView。从其他TreeView引用TreeView
treeViewMain=treeViews[0];
但窗体没有显示树。此外,我已经彻底检查列表中的树视图,它们正确填充。
显然简单的分配不起作用。根据this post,TreeViewNode
的父母似乎必须是唯一的,而“水果”只能坐在一棵树上。
一个解决办法可能是在TreeView
的parent属性在列表中设置为treeViewMain
:
treeViews[0].Parent = treeViewMain;
这将使从树状列表作为一个孩子里面treeViewMain
。如果你想改变这一点,从您的列表加载下一个项目,你需要确保的是,以前加载项的parent属性设置为null在这个例子中分配一个新的父母像以前一样:
private int count = 0;
private void button_ChooseTreeView_Click(object sender, EventArgs e)
{
if (count > 0)
{
treeViews[count -1].Parent = null;
}
treeViews[count].Parent = treeViewMain;
count++;
}
另一种可能将克隆每个节点,并填充treeViewMain
每次你想更新列表项到显示器
你能解决你的问题吗? –
是的我通过清除treeViewMain的所有孩子,然后将treeViews [0]的孩子添加到treeViewMain @MongZhu来解决问题 –