TreeView控件(显示信息的分级视图的软件)

TreeView控件显示信息的分级视图的软件

TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。TreeView控件使用由ImageList属性指定的ImageList控件来存储显示于Node对象的位图和图标。TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。

中文名

TreeView控件

作用

用来显示信息的分级视图

常用事件

object 对象表达式、其值是应用于列表中的一个对象

方法

GetVisibleCount方法、StartLabelEdit方法、SetFocus方法等

方法

GetVisibleCount方法

HitTest方法(ListView,TreeView控件)

StartLabelEdit方法

SetFocus方法

Drag方法

Move方法

ZOrder方法

ShowWhatsThis方法

OLEDrag方法(ActiveX控件)

Refresh方法(ActiveX控件)

常用事件

NodeClick事件在一个Node对象被单击时,这个事件便发生。语法:PrivateSubobject_NodeClick(ByValnodeAsobject)

NodeClick事件的语法包含下面部分:

部分描述

object对象表达式,其值是“应用于”列表中的一个对象。

node对被点取的Node对象的引用。

说明:

在单击节点对象之外的TreeView控件的任何部位,标准的Click事件发生。当单击某个特定的Node对象时,NodeClick事件发生;NodeClick事件也返回对特定的Node对象的引用,在下一步操作之前,这个引用可用来使这个Node对象可用。

NodeClick事件发生在标准的Click事件之前。

语法

object.Add(relative,relationship,key,text,image,selectedimage)

Add方法的语法包含下面部分:

部分描述

object必需的。对象表达式,其值是“应用于”列表中的一个对象

relative可选的。已存在的Node对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数relationship中找到。

relationship可选的。指定的Node对象的相对位置,如设置值中所述。

key可选的。唯一的字符串,可用于用Item方法检索Node。

text必需的。在Node中出现的字符串。

image可选的。在关联的ImageList控件中的图像的索引。

selectedimage可选的。在关联的ImageList控件中的图像的索引,在Node被选中时显示。

设置值

relationship的设置值是:

常数值描述

tvwFirst0首的节点。该Node和在relative中被命名的节点位于同一层,并位于所有同层节点之前。

tvwLast1最后的节点。该Node和在relative中被命名的节点位于同一层,并位于所有同层节点之后。任何连续地添加的节点可能位于最后添加的节点之后

tvwNext2(缺省)下一个节点。该Node位于在relative中被命名的节点之后。

tvwPrevious3前一个节点。该Node位于在relative中被命名的节点之前。

tvwChild4(缺省)子节点。该Node成为在relative中被命名的

节点的子节点。

注意如果在relative中没有被命名的Node对象,则新节点被放在节点顶层的最后位置。

说明

Nodes集合是一个基于1的集合。

在添加Node对象时,它被指派一个索引号,该索引号被存储在Node对象的Index属性中。这个最新成员的Index属性值就是Node集合的Count属性的值。

因为Add方法返回对新建立的Node对象的引用,所以使用这个引用来设置新Node的属性十分方便。以下例子添加几个具有相同属性的Node对象:

DimnodXAsNode'声明对象变量。

DimIasInteger'声明计数器变量。

ForI=1to4

SetnodX=TreeView1.Nodes.Add(,,,"Node"&Cstr(i))

'使用引用来设置其它属性,如Enabled。

nodX.Enabled=True

'把图像属性设置为在关联的ImageList中的图像3。

nodX.ExpandedImage=3

NextI

简单示例

新建一个VB工程、新窗体插入Treeview控件双击窗体

写入以下代码

PrivateSubForm_Load()

WithMe.TreeView1.Nodes

.Add,4,"K1","分类(一)"

.Add"K1",4,,"小分类1"

.Add"K1",4,,"小分类2"

.Add"K1",4,,"小分类3"

.Add"K1",4,,"小分类4"

.Add,4,"K2","分类(二)"

.Add"K2",4,,"小分类1"

.Add"K2",4,,"小分类2"

.Add"K2",4,,"小分类3"

.Add"K2",4,,"小分类4"

.Add,4,"K3","分类(三)"

.Add"K3",4,,"小分类1"

.Add"K3",4,,"小分类2"

.Add"K3",4,,"小分类3"

.Add"K3",4,,"小分类4"

EndWith

EndSub

按F5即可看到运行效果

——朱星宇——参与编辑

ASP.NETWijmo的Treeview控件

ComponentOneTreeView™forASP.NETWijmoJS控件可以在一个分层的树形结构中显示项目。[1]C1TreeView控件支持展开或折叠动画,时尚的主题,以及日益流行的拖放功能。特性:数据绑定支持。拖放节点。复选框支持。动画,模板支持,键盘支持,主题,CSS支持。

测试数据

添加TreeView控件,2个按钮

2个按钮分别用了两种方法显示数据。但是第二种方法明显优于第一种。

可以仔细的看代码

'引用microsoftactivexdataobject2.xlibrary

DimnddataAsNode

DimcnnAsADODB.Connection

Dimrs1AsNewADODB.Recordset

Dimrs2AsNewADODB.Recordset

PrivateSubCommand1_Click()

OnErrorResumeNext

Setnddata=TreeView1.Nodes.Add(,,"db","班级信息")

nddata.Expanded=True

DimintcountAsInteger

DiminttableAsInteger

DimintfieldAsInteger

DimintfnAsInteger

rs1.Open"selectnjfromtestgroupbynj",cnn,1,3

inttable=rs1.RecordCount

DoWhileinttable<>intcount

Setnddata=TreeView1.Nodes.Add("db",tvwChild,"F"&rs1.Fields("nj"),rs1.Fields("nj"))

rs2.Open"selectbh,njfromtestwherenj='"&rs1.Fields("nj")&"'",cnn,1,3

intfield=rs2.RecordCount

Ifintfield<>0Then

intfn=0

DoWhileintfield<>intfn

Setnddata=TreeView1.Nodes.Add("F"&rs1.Fields("nj"),tvwChild,"S"&rs2.Fields("bh"),rs2.Fields("bh"))

rs2.MoveNext

intfn=intfn+1

Loop

EndIf

rs2.Close

rs1.MoveNext

intcount=intcount+1

Loop

rs1.Close

EndSub

参考资料

1.简介·葡萄城官网

….

未经允许不得转载:答案星辰 » TreeView控件(显示信息的分级视图的软件)

赞 (0)