从Child of Child Node中选择一个treenode

时间:2012-07-27 09:23:05

标签: c# visual-studio-2008 treeview

我有树视图,想要选择子节点的子节点:

    • A部分
      • A1组
      • A2组
    • B节
      • B1组
      • B2组

我想选择节点组B2。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您想要做类似

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

注意,当使用字符串引用节点时,假设您提供了这样做的引用。否则,您将不得不使用节点索引。上面假设树是静态的,你之后的节点的poistions不会改变。

如果树是动态的,即所需节点的位置确实发生了变化,您可能需要循环遍历树以找到所需的节点。为此,请使用类似

的内容
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这里是要查找的必需节点文本 - 对于具有相同文本值的节点,这可能需要修改。

我希望这会有所帮助。