如何更改treenodes的顺序

Bra*_*rad 6 c#

我想在同一级别上更改System.Windows.Forms.TreeNodes的顺序。

关于如何在.net-2.0中完成此操作的任何建议。

Jim*_*hel 6

您需要操纵TreeView的Nodes集合。请参见TreeNodeCollection

如果您有三个树节点,并且想要将最后一个树节点移到最前面,例如:(注意:未经测试的代码,但显示了此想法)

var lastNode = MyTreeView.Nodes[2];
MyTreeView.Nodes.Remove(lastNode);
MyTreeView.Nodes.Insert(0, lastNode);
Run Code Online (Sandbox Code Playgroud)


Bra*_*rad 4

void MoveNodeUp(TreeNode node)
{
  TreeNode parentNode = node.Parent;
  int originalIndex = node.Index;
  if (node.Index == 0) return;
  TreeNode ClonedNode = (TreeNode)node.Clone();
  node.Remove();
  parentNode.Nodes.Insert(originalIndex - 1, ClonedNode);
  parentNode.TreeView.SelectedNode = ClonedNode;
  }
Run Code Online (Sandbox Code Playgroud)

  • 为什么要克隆节点?删除不应丢弃它,因此引用仍然有效。 (2认同)