樹視圖(TreeView)控件用於顯示與Windows資源管理器左窗格中文件和文件夾的顯示方式類似的專案分層表示。每個節點可能包含一個或多個子節點。參見如下控件視圖 -

從工具箱中點擊一個TreeView控件,並把它放在窗體上。
TreeView控件的屬性
以下是TreeView控件的一些常用屬性:
| 編號 | 屬性 | 描述 |
|---|---|---|
| 1 | BackColor |
獲取或設置控件的背景顏色。 |
| 2 | BackgroundImage |
獲取或設置TreeView控件的背景圖像。 |
| 3 | BackgroundImageLayout |
獲取或設置TreeView控件的背景圖像的佈局。 |
| 4 | BorderStyle |
獲取或設置樹視圖控件的邊框樣式。 |
| 5 | CheckBoxes |
獲取或設置一個值,該值指示複選框是否顯示在樹視圖控件的樹節點旁邊。 |
| 6 | DataBindings |
獲取控件的數據綁定。 |
| 7 | Font |
獲取或設置控件顯示的文本的字體。 |
| 8 | FontHeight |
獲取或設置控件的字體高度。 |
| 9 | ForeColor |
此控件的當前前景色,即控件用於繪製其文本的顏色。 |
| 10 | ItemHeight |
獲取或設置樹視圖控件中每個樹節點的高度。 |
| 11 | Nodes |
獲取分配給樹視圖控件的樹節點的集合。 |
| 12 | PathSeparator |
獲取或設置樹節點路徑使用的分隔符號字串。 |
| 13 | RightToLeftLayout |
獲取或設置一個值,該值指示TreeView是否應從右向左佈局。 |
| 14 | Scrollable |
獲取或設置一個值,該值指示樹視圖控件是否在需要時顯示滾動條。 |
| 15 | SelectedImageIndex |
獲取或設置選擇樹節點時顯示的圖像的圖像列表索引值。 |
| 16 | SelectedImageKey |
獲取或設置TreeNode處於選定狀態時顯示的默認圖像的關鍵字。 |
| 17 | SelectedNode |
獲取或設置樹視圖控件中當前選定的樹節點。 |
| 18 | ShowLines |
獲取或設置一個值,該值指示是否在樹視圖控件中的樹節點之間繪製線條。 |
| 19 | ShowNodeToolTips |
獲取或設置一個值,指示當滑鼠指針懸停在TreeNode上時顯示工具提示。 |
| 20 | ShowPlusMinus |
獲取或設置一個值,該值指示是否在包含子樹節點的樹節點旁邊顯示加號(+)和減號(-)按鈕。 |
| 21 | ShowRootLines |
獲取或設置一個值,該值指示是否在位於樹視圖根目錄的樹節點之間繪製線。 |
| 22 | Sorted |
獲取或設置一個值,該值指示樹視圖中的樹節點是否已排序。 |
| 23 | StateImageList |
獲取或設置用於指示TreeView及其節點狀態的圖像列表。 |
| 24 | Text |
獲取或設置TreeView的文本。 |
| 25 | TopNode |
獲取或設置樹視圖控件中的第一個完全可見的樹節點。 |
| 26 | TreeViewNodeSorter |
獲取或設置IComparer的實現,以執行自定義類型的TreeView節點。 |
| 27 | VisibleCount |
獲取樹視圖控件中可以完全可見的樹節點的數量。 |
TreeView控件的方法
以下是TreeView控件的一些常用方法:
| 編號 | 方法 | 描述 |
|---|---|---|
| 1 | CollapseAll |
折疊樹視圖控件中的所有節點,包括所有子節點。 |
| 2 | ExpandAll |
展開所有節點。 |
| 3 | GetNodeAt |
獲取指定位置的節點。 |
| 4 | GetNodeCount |
獲取樹節點的數量。 |
| 5 | Sort |
排序樹視圖控件中的所有專案。 |
| 6 | ToString |
返回一個包含控件名稱的字串。 |
TreeView控件的事件
以下是TreeView控件的一些常用事件:
| 編號 | 事件 | 描述 |
|---|---|---|
| 1 | AfterCheck |
在樹節點複選框被選中後發生。 |
| 2 | AfterCollapse |
在樹節點折疊後發生 |
| 3 | AfterExpand |
在樹節點展開後發生。 |
| 4 | AfterSelect |
在選擇樹節點後發生。 |
| 5 | BeforeCheck |
在選中樹節點複選框之前發生。 |
| 6 | BeforeCollapse |
在樹節點折疊之前發生。 |
| 7 | BeforeExpand |
在樹節點展開之前發生。 |
| 8 | BeforeLabelEdit |
在編輯樹節點標籤文本之前發生。 |
| 9 | BeforeSelect |
在選擇樹節點之前發生。 |
| 10 | ItemDrag |
在用戶開始拖動節點時發生。 |
| 11 | NodeMouseClick |
當用戶用滑鼠單擊TreeNode時發生。 |
| 12 | NodeMouseDoubleClick |
在用戶用滑鼠雙擊TreeNode時發生。 |
| 13 | NodeMouseHover |
當滑鼠懸停在TreeNode上時發生。 |
| 14 | PaddingChanged |
在Padding屬性的值更改時發生。 |
| 15 | Paint |
在繪製TreeView時發生。 |
| 16 | RightToLeftLayoutChanged |
在RightToLeftLayout屬性的值更改時發生。 |
| 17 | TextChanged |
在Text屬性更改時發生。 |
TreeNode類
TreeNode類表示TreeView的一個節點。 TreeView控件中的每個節點都是TreeNode類的一個對象。為了能夠使用TreeView控件,需要查看TreeNode類的一些常用屬性和方法。
TreeNode類的屬性
以下是TreeNode類的一些常用屬性:
| 編號 | 屬性 | 描述 |
|---|---|---|
| 1 | BackColor |
獲取或設置樹節點的背景顏色。 |
| 2 | Checked |
獲取或設置一個值,該值指示樹節點是否處於選中狀態。 |
| 3 | ContextMenu |
獲取與此樹節點關聯的快捷菜單。 |
| 4 | ContextMenuStrip |
獲取或設置與此樹節點關聯的快捷菜單。 |
| 5 | FirstNode |
獲取樹節點集合中的第一個子樹節點。 |
| 6 | FullPath |
獲取從根樹節點到當前樹節點的路徑。 |
| 7 | Index |
獲取樹節點集合中樹節點的位置。 |
| 8 | IsEditing |
獲取一個值,該值指示樹節點是否處於可編輯狀態。 |
| 9 | IsExpanded |
獲取一個值,該值指示樹節點是否處於展開狀態。 |
| 10 | IsSelected |
獲取指示樹節點是否處於選定狀態的值。 |
| 11 | IsVisible |
獲取一個值,該值指示樹節點是可見還是部分可見。 |
| 12 | LastNode |
獲取最後一個子樹節點。 |
| 13 | Level |
獲取TreeView控件中樹節點的從零開始的深度。 |
| 14 | Name |
獲取或設置樹節點的名稱。 |
| 15 | NextNode |
獲取下一個兄弟樹節點。 |
| 16 | Nodes |
獲取分配給當前樹節點的TreeNode對象的集合。 |
| 17 | Parent |
獲取當前樹節點的父樹節點。 |
| 18 | PrevNode |
獲取之前的兄弟樹節點。 |
| 19 | PrevVisibleNode |
獲取上一個可見的樹節點。 |
| 20 | Tag |
獲取或設置包含有關樹節點數據的對象。 |
| 21 | Text |
獲取或設置顯示在樹節點標籤中的文本。 |
| 22 | ToolTipText |
獲取或設置滑鼠指針懸停在TreeNode上時出現的文本。 |
| 23 | TreeView |
獲取樹節點分配給的父樹視圖。 |
TreeNode類的方法
以下是TreeNode類的一些常用方法:
| 編號 | 方法 | 描述 |
|---|---|---|
| 1 | Collapse |
折疊樹節點。 |
| 2 | Expand |
展開樹節點。 |
| 3 | ExpandAll |
展開所有子樹節點 |
| 4 | GetNodeCount |
返回子樹節點的數量。 |
| 5 | Remove |
從樹視圖控件中移除當前的樹節點。 |
| 6 | Toggle |
將樹節點切換到展開或折疊狀態。 |
| 7 | ToString |
返回表示當前對象的字串。 |
示例
在這個例子中,在運行時創建一個樹形視圖。雙擊窗體並將下麵的代碼放在打開的窗口中。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' create a new TreeView '
' Dim TreeView1 As TreeView '
' TreeView1 = New TreeView() '
TreeView1.Location = New Point(10, 10)
TreeView1.Size = New Size(180, 250)
Me.Controls.Add(TreeView1)
TreeView1.Nodes.Clear()
'Creating the root node '
Dim root = New TreeNode("Application")
TreeView1.Nodes.Add(root)
TreeView1.Nodes(0).Nodes.Add(New TreeNode("Project 1"))
'Creating child nodes under the first child
For loopindex As Integer = 1 To 4
TreeView1.Nodes(0).Nodes(0).Nodes.Add(New _
TreeNode("Sub Project" & Str(loopindex)))
Next loopindex
' creating child nodes under the root '
TreeView1.Nodes(0).Nodes.Add(New TreeNode("Project 6"))
'creating child nodes under the created child node
For loopindex As Integer = 1 To 3
TreeView1.Nodes(0).Nodes(1).Nodes.Add(New _
TreeNode("Project File" & Str(loopindex)))
Next loopindex
' Set the caption bar text of the form. '
Me.Text = "xuhuhu.com"
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
End Sub
End Class
當上面的代碼執行並使用Microsoft Visual Studio工具欄上的“開始”按鈕運行時,它將顯示以下窗口:

可以展開節點來查看每個子節點,如下圖所示:

上一篇:
VB.Net基本控件
下一篇:
VB.Net對話框
