VB.Net樹視圖(TreeView)

樹視圖(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對話框