TreeView控件

简介:

快速调入TreeView控件以及ListView控件的子项内容 
 
有一个简单但仍未发现的技巧可用于在TreeView控件中装载多个节点,或者在ListView控件中装载多个ListItems。这种方法要比传统做法快。先看看下面这个传统方法: 
For i = 1 To 5000

TreeView1.Nodes.Add , , , "Node " & i

Next

改进一下,代替重复引用TreeView1对象的Nodes集合,我们可以先将之保存在临时对象变量中:

Dim nods As MSComctlLib.Nodes

Set nods = TreeView1.Nodes

For i = 1 To 5000

nods.Add , , , "Node " & i

Next

甚至,如果使用With代码块,还可以不需要临时变量:

With TreeView1.Nodes

For i = 1 To 5000

.Add , , , "Node " & i

Next

End With

经测试,优化的循环代码要比传统方法执行速度快40%左右。原因在于:将Nodes集合对象保存在临时变量中,或者应用With代码块后VB将使用隐藏的临时变量后,就可以避免在循环中重复绑定Nodes对象到它的父TreeView1对象上。由于这种绑定是低效率的,因此省却它就能节省大量的执行时间。

同样的道理对于其他ActiveX控件也生效:

ListView控件的ListItems、ListSubItems以及ColumnHeaders集合 
Toolbar控件的Buttons和ButtonMenus集合 
ImageList的ListImages集合 
StatusBar控件的Panels集合 
TabStrip控件的Tabs集合 

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/05/29/411801.html如需转载请自行联系原作者


kenty
 

相关文章
|
7月前
|
C# 数据库
40.c#:TreeView 控件
40.c#:TreeView 控件
73 1
|
6月前
|
索引
详细解读c#ListBox控件
详细解读c#ListBox控件
46 0
|
7月前
|
C# 数据库 虚拟化
43.c#:listbox控件
43.c#:listbox控件
76 1
|
数据安全/隐私保护
DevExpress-GridControl控件-GridView使用
DevExpress-GridControl控件-GridView使用
|
数据处理 C#
C#-TreeView
TreeView是一个树形结构的控件,能够表现出对象的层级关系,比如文件夹目录展示经常使用。
110 0