TreeNode[] nodes = this.treeview.Nodes.Find(node.Text, true);
if (nodes.Length > 0)
{
int i = nodes[0].Index;
if (nodes.Length > 0)
this.treeview.Nodes.Remove(nodes[0]);
this.treeview.Nodes.Insert(i, nodes[0]);
}
我试过这段代码,
但节点节点[0]未插入特定索引。
而是在最后添加。
但是我使用treeviewsorter。
任何想法如何插入节点而不使用插入
或使用insert有效地使用treeviewsorter ??
答案 0 :(得分:0)
如果您已将TreeViewNodeSorter
属性设置为自定义比较器,则会使用该比较器自动对TreeView
个节点进行排序。
因此,您不能在不同的位置插入节点,因为位置是使用比较器决定的。
但是,在您的特定情况下,您正在移除一个节点并将其重新插入其原始位置,并且您认为它实际上应该无效。
这,(我猜)可能是由于以下几个原因:
Node.Index
)Find()
获得的节点(假设只有一个......)属于低于root的级别,但您尝试将其从根节点中删除并添加到该级别...