2014-10-20 37 views
0

我想創建一個對話框,用戶在TreeView中選擇一個節點,以便他可以將一些數據保存到該節點。TreeView添加到UI中不顯示的對象

樹本身是在一個單獨的控件(用於瀏覽/打開節點內容)中創建的,我的想法是我應該在保存控件中使用該樹。

我的構造是這樣的:

public FrmSaveToRepository(TreeView tree) 
{ 
    InitializeComponent(); 
    this.treeView = tree; 
} 

但當形式持有,控制彈出的TreeView控件是空的。我錯過了一步嗎?

我打開我的表單與此代碼:

var frm = new FrmSaveToRepository(tree); 
frm.Show(); 
+0

如何調用'FrmSaveToRepository'? – Rahul 2014-10-20 12:06:00

+0

你在哪裏添加treeview?我的意思是你把它添加到新的形式與this.Controls.Add(this.treeView)? – Vajura 2014-10-20 12:06:47

+0

@Rahul FrmSaveToRepository是我的表單的構造函數。 – 2014-10-20 12:07:38

回答

1

權利,使老節點添加到新樹正確的方法是:

public FrmSaveToRepository(TreeView tree) 
{ 
    InitializeComponent(); 
    foreach (TreeNode node in tree.Nodes) 
    { 
     this.treeView1.Nodes.Add(node.Clone() as TreeNode); 
    } 
} 

但仍然意味着所有的事件而處理程序必須在新樹中分開實施。