树视图(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 = "yiibai.com"
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
End Sub
End Class
当上面的代码执行并使用Microsoft Visual Studio工具栏上的“开始”按钮运行时,它将显示以下窗口:
可以展开节点来查看每个子节点,如下图所示: