VB.Net樹檢視(TreeView)

2019-10-16 23:01:58

樹檢視(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 = "tw511.com"
    End Sub

    Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect

    End Sub
End Class

當上面的程式碼執行並使用Microsoft Visual Studio工具列上的「開始」按鈕執行時,它將顯示以下視窗:

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