我将数据库表数据绑定到treeview。 在documntation中,它将节点计数属性称为整数值,它是2字节的有符号。 因此,如果节点超出此范围,则节点计数变为负数。 有没有解决方法呢?
答案 0 :(得分:3)
是的,这是一个documented错误。幸运的是,没有人在现实世界中遇到它,因为单个TreeView控件需要显示超过32,767个节点才是完全没有意义的。
如链接知识库文章中所述,最佳解决方法是在TreeView
控件中维护较少的节点。考虑在多个TreeView之间分割数据,或者使用更适合这种大量数据的不同控件。
如果您绝对必须使用TreeView
,Microsoft建议您记住以下几点:
SendMessage
API function获取真实节点数。或者,您可以使用模块或公共级变量来跟踪TreeView中有多少节点。每次添加或删除节点时,将变量递增或递减1。如果您需要确定节点数,则必须这样做,因为Count
集合的Nodes
属性不会返回正确的值。Index
属性。例如,节点32767的Index
属性为32767,节点32768的属性为-32768。您仍然可以使用Key
或将数字传递给Nodes
集合来引用节点。
例如:
TreeView1.Nodes(40000) refers to node 40000.