向后穿过树视图

时间:2012-06-13 11:30:04

标签: c# treeview

enter image description here

我希望向后移动 - 让我说“背景”节点。然后我想搬家:

->backgrounds
->component 6
->components
->assembly 3
->component 5
->component 4
->components
->assembly 2
->component 3
 ... 
任何人都可以帮助我。

2 个答案:

答案 0 :(得分:1)

由于我的评论很有帮助,我发布了这个答案。

你想要的是后序中最右边的traversel。你可以像这样递归地做到:

public void traverse(TreeNode t)
{
    for (int i = t.Nodes.Count-1; i >= 0; i--)
    {
        traverse(t.Nodes[i]);
    }
    /*Do something*/
}

您可以在此处详细了解树遍历方法:Tree traversal

答案 1 :(得分:1)

这是一个内置功能,您可以使用TreeNode.PrevVisibleNode属性。像这样:

    private void MoveUp_Click(object sender, EventArgs e) {
        var node = treeView1.SelectedNode;
        if (node != null && node.PrevVisibleNode != null) 
            treeView1.SelectedNode = node.PrevVisibleNode;
        treeView1.Focus();
    }