2009-08-18 100 views
0

喜面前,+登錄樹節點

我使用Visual Studio 2005與一個TreeView工作在C#中,想要找一個樹節點,並在一個按鈕,它下面添加節點在我的窗戶形式被擠壓應用。 我試過使用treeView1.Nodes.Find(「My_Text」,true); 其中「My_Text」是與我想要添加模式節點的節點關聯的文本。

但是我找不到一種方法來使用這個我的優勢,因爲我不知道這個聲明返回什麼。

我喜歡使用treeView1.SelectedNode.Nodes.Add(newnode);添加節點,但我需要先選擇一個節點。而treeView1.Nodes.Find看起來不像它爲我選擇節點。任何幫助?

回答

1

您確定應用程序中存在帶有給定文本的節點嗎?我只是想一個簡單的測試方法及應用工作沒有問題查找...

private void button1_Click(object sender, EventArgs e) { 
     // WARNING: add checks 
     TreeNode[] nodes = treeView1.Nodes.Find("Node2",true); 
     TreeNode node = nodes[0]; 
     node.Nodes.Add("child node"); 
    } 
+0

謝謝..現在完美。 – zack 2009-08-18 16:56:40

1

你需要使用SelectedNode.Nodes.Add()嗎? Nodes.Add(...)操作可以在任何TreeNode上執行。所以,如果你可以找到節點,只需調用node.Nodes.Add(..)。你不需要先選擇它。

查看文檔或智能感知信息以查看Find()方法返回的內容。

0

TreeView.Nodes.Find返回一個與您指定的字符串匹配的節點數組。然後,您可以使用節點上的Add方法添加子節點,顯然,如果數組中有多個節點,那麼您將遇到非唯一的情況,因此如果您正在查找特定節點,則需要更多信息在其上確定它。

1

treeView1.Nodes.Find()返回TreeNode對象的數組。如果您肯定有一個且只有一個這樣的節點,你可以這樣做:

var node = treeView1.Nodes.Find("My_Text", true)[0]; 
node.Nodes.Add(newnode); 

如果可以有不止一個這樣的節點,你需要一些其他的方式首先要消除歧義。如果不存在這樣的節點,則還需要在其中添加一些錯誤檢查。