我有下面的树视图并想选择子节点的子节点:
- 班级
- A节
- A1组
- A2组
- B节
- B1组
- B2组
- A节
我想选择节点组 B2。我怎样才能做到这一点 ?
我有下面的树视图并想选择子节点的子节点:
我想选择节点组 B2。我怎样才能做到这一点 ?
你想做类似的事情
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
这是要查找的所需节点文本 - 对于具有相同文本值的节点,可能必须对其进行修改。
我希望这有帮助。