2017-08-16 55 views
1

我有一个窗口窗体,它具有一个控件treeViewMain,并且在代码中我有一个treeViews列表,它具有可变数目的treeViews。我希望treeViewMain从列表中显示任何treeView。从其他TreeView引用TreeView

treeViewMain=treeViews[0]; 

但窗体没有显示树。此外,我已经彻底检查列表中的树视图,它们正确填充。

+0

你能解决你的问题吗? –

+0

是的我通过清除treeViewMain的所有孩子,然后将treeViews [0]的孩子添加到treeViewMain @MongZhu来解决问题 –

回答

0

显然简单的分配不起作用。根据this postTreeViewNode的父母似乎必须是唯一的,而“水果”只能坐在一棵树上。

一个解决办法可能是在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每次你想更新列表项到显示器