不废话,直接上代码!
public class NodeSorter : IComparer
{
public int Compare(object x, object y)
{
TreeNode tx = x as TreeNode;
TreeNode ty = y as TreeNode;
if (tx.Nodes.Count > 0 && ty.Nodes.Count > 0)
{
if (tx.Nodes[0].Level == 2)
return string.Compare(tx.Nodes[0].Text, ty.Nodes[0].Text);
}
else
{
if (tx.Nodes.Count > 0)
{
if (tx.Nodes[0].Level == 2)
return ty.Nodes.Count - tx.Nodes.Count;
}
if (ty.Nodes.Count > 0)
{
if (ty.Nodes[0].Level == 2)
return ty.Nodes.Count - tx.Nodes.Count;
}
}
return 1;
}
}
使用代码:
treeview1.TreeViewNodeSorter = new NodeSorter();
本文介绍了一种使用C#实现的TreeView节点排序方法,通过自定义IComparer接口的Compare方法,根据节点的特定属性进行排序。代码示例展示了如何比较两个TreeNode对象的子节点的Level属性和Text属性,以实现灵活的排序逻辑。
1978

被折叠的 条评论
为什么被折叠?



