Visual Basic 树型结构 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 获取或设置树节点处于选定状态时显示的默认图像的键。 |
17 | SelectedNode 获取或设置树视图控件中当前选定的树节点。 |
18 | ShowLines 获取或设置一个值,该值指示是否在树视图控件中的树节点之间绘制线。 |
19 | ShowNodeToolTips 获取或设置一个值,该值指示当鼠标指针悬停在树节点上时显示工具提示。 |
20 | ShowPlusMinus 获取或设置一个值,该值指示是否在包含子树节点的树节点旁边显示加号(+)和减号(-)按钮。 |
21 | ShowRootLines 获取或设置一个值,该值指示是否在位于树视图根的树节点之间绘制线。 |
22 | Sorted 获取或设置一个值,该值指示树视图中的树节点是否已排序。 |
23 | StateImageList 获取或设置用于指示 TreeView 及其节点状态的图像列表。 |
24 | Text 获取或设置树视图的文本。 |
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 当用户用鼠标单击树节点时发生。 |
12 | NodeMouseDoubleClick 当用户用鼠标双击树节点时发生。 |
13 | NodeMouseHover 当鼠标悬停在树节点上时发生。 |
14 | PaddingChanged 当 Padding 属性的值更改时发生。 |
15 | Paint 绘制树视图时发生。 |
16 | RightToLeftLayoutChanged RightToLeftLayout 属性的值更改时发生。 |
17 | TextChanged 在文本属性更改时发生。 |
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 控件中树节点的深度。从 0 开始。 |
14 | Name 获取或设置树节点的名称。 |
15 | NextNode 获取下一个同级树节点。 |
16 | Nodes 获取分配给当前树节点的 TreeNode 对象的集合。 |
17 | Parent 获取当前树节点的父树节点。 |
18 | PrevNode 获取上一个同级树节点。 |
19 | PrevVisibleNode 获取上一个可见树节点。 |
20 | Tag 获取或设置包含有关树节点的数据的对象。 |
21 | Text 获取或设置树节点标签中显示的文本。 |
22 | ToolTipText 获取或设置鼠标指针悬停在树节点上时显示的文本。 |
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(150, 150)
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 = "cankaoshouce.com"
End Sub
End Class
当使用 Microsoft Visual Studio 工具栏上的 开始 按钮执行并运行上述代码时,它将显示以下窗口:
可以展开节点以查看子节点: