2012-07-27 108 views

回答

2

你想要做這樣的事情

TreeNode nodeSectionB = this.TreeView.Nodes["Section B"]; // Or .Nodes[1]; 
TreeNode node = nodeSectionB.Nodes["Group B2"]; // Or .Nodes[1]; 
this.TreeView.SelectedNode = node; 

注意,在使用字符串時參考節點,假設您提供一個參考這樣做。否則,你將不得不使用節點索引。上面假設樹是靜態的,並且後面的節點的位置不變。

如果樹是動態的,那就是所需節點的位置確實發生了變化,您可能必須通過樹循環才能找到所需的節點。要做到這一點使用類似

private void SelectTreeNode(TreeView treeView, string nodeText) 
{ 
    TreeNodeCollection nodes = treeView.Nodes; 
    foreach (TreeNode n in nodes) 
     CheckRecursive(n, nodeText); 
} 

private void CheckRecursive(TreeNode treeNode, string nodeText) 
{ 
    foreach (TreeNode tn in treeNode.Nodes) 
     if (String.Compare(tn.Text, nodeText, true) == 0) 
      this.TreeView.SelectedNode = tn; 
} 

其中假設的this.TreeView是你的樹視圖的訪問。 nodeText這裏是需要查找的節點文本 - 對於具有相同文本值的節點,這可能必須予以修正。

我希望這會有所幫助。