经过试验,node的Sorted属性只对自己的子节点(已存在的和未来要添加的)起作用,对孙子节点不起作用。所以,如果你已经设置了一个节点的sorted属性为true,那你在它下面再加入节点,新节点就按字母序插入;如果你没设置它的sorted,新节点就按节点添加的时间先后顺序插入。当然,新增节点时,也可以具体指定在哪个个节点的前面或后面插入。
看上面的图,根节点的sorted为true,所以生成树之后再根节点之下再添任何节点都以字母序插入;而节点3未设置sorted,所以在它下面插入的节点都没有排序。我用的是:Microsoft Treeview Control, version 6.0 。
注意,这个实验结果和VB控件手册里的说明是不一致的。VB控件手册里说:将Sorted 属性设置为True 将只排序当前的Nodes 集合。当给TreeView 控件增加了新的Node 对象时,必须再次将Sorted 属性设置为True 以便排序新增加的Node 对象。我就因为轻信了这话,导致一个BUG,调了好久。
另外,如果要树排序,可在树初始化完毕后,再象下面代码一样排序:
联系客服