Vb.net中提高TreeView控件加载速度

最近在重构一个VB.NET2008编写的Mis系统,其中有一个用TreeView实现的四级目录,当时设计的是一次性加载目录,真是拙劣的设计!因为控件要加载的数据量较大,加载速度比较慢,故对此 进行了优化。

优化思路:初始状态仅加载前两级节点,每次点击控件展开节点时,再动态加载相应的下一级子节点

步骤:

1.控件展开触发事件

2.获取展开节点的Level

3.根据节点Level和Text或者ToolTipText进行查询,获得该节点对应下一级子节点的数据,

4.调用Add函数将子节点加入树中。

用到的方法:

控件展开触发事件:AfterExpand

获取当前节点:e.Node

现在要思考一个新的问题:每次点击展开都触发了添加节点事件,这样多次点击展开节点,怎样处理才能确保目录树正确?

我这里采取的策略是在节点展开事件中判断下一级的子节点是否为空,如果不空则表明子节点已经添加过,这种情况就要跳出事件,否则就开始执行添加子节点的程序
代码如下:
for each nowNode in e.Node.Nodes
dim testNode as TreeNode=nowNode
if testNode.Nodes.Count>0 then
return
end if
next




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值