我写了一个比较器,我想在TreeView
的父节点上实现它,但我需要比较的是Node.Tag.ToString()
而不是Text
。据我所知,使用TreeView.Sort()
没有重载或其他功能。
我想知道你是否有办法或解决方法?
答案 0 :(得分:4)
如果您有IComparer,看起来您可以为其设置TreeViewNodeSorter属性,然后调用Sort以根据需要对节点进行排序。
基于该链接的示例 - 未尝试过,没有空检查等但它应该有效:
public class NodeSorter : IComparer
{
public int Compare(object x, object y)
{
TreeNode tx = x as TreeNode;
TreeNode ty = y as TreeNode;
return string.Compare(tx.Tag.ToString(), ty.Tag.ToString());
}
}
然后在您的设置中的某个地方treeView1.TreeViewNodeSorter = new NodeSorter();
。