1.TreeView的操作涉及 ItemHandle(相当与指针),跟TreeViewItem(数据节点)需要注意的是TreeViewItem是结构体按传值方式运作
2.节点的引用都是基于ItemHandle进行的
3.一个节点添加时设置其Children为false,但是当给其添加子节点后其children将变成true(需要使用getitem再次获取)
4.ItemPopulate 事件:如果该节点添加时的children=true,那么第一次展开该节点将触发ItemPopulate,当填充了子节点后再次展开该节点将不再触发该事件,如果一直没能填充子节点那么将在每次展开时触发该事件.
4.1 如果改节点添加时设置其children=false并且没给其添加子节点(添加子节点会将其children设置成true),那么展开该节点时将不触犯改事件.
该事件的触发判断条件是,某节点Children是否为True,并且是否已经展开过,针对那种不会有子节点的(也就不可能被展开过)并且children为True的,每次展开都将触发该事件
另外望网上一篇http://topic.csdn.net/t/20020918/14/1033798.html
说是在selectionchanging中写this.ExpandItem(newhandle) 会导致每次展开时都触发该事件,我测试了下好象没有这样的情况(pb11,xp环境)
//删除全部节点
tv_1.DeleteItem(0)