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來解決問題 –