1

在此处输入图像描述

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

->backgrounds
->component 6
->components
->assembly 3
->component 5
->component 4
->components
->assembly 2
->component 3
 ... 

谁能帮我。

4

2 回答 2

2

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

您想要的称为后序中的最右遍历。您可以像这样递归地执行此操作:

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

您可以在此处阅读有关树遍历方法的更多信息:树遍历

于 2012-06-13T13:08:38.177 回答
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();
    }
于 2012-06-13T13:47:52.177 回答