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控件可以在一個分層的樹形結構中顯示項目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

相關詞條

相關搜索

其它詞條