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

返回表示当前对象的字符串。


实例

在本例中,让我们在运行时创建一个树视图。让我们双击表单,并在打开的窗口中输入以下代码:

  1. Public Class Form1
  2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  3. 'create a new TreeView
  4. Dim TreeView1 As TreeView
  5. TreeView1 = New TreeView()
  6. TreeView1.Location = New Point(10, 10)
  7. TreeView1.Size = New Size(150, 150)
  8. Me.Controls.Add(TreeView1)
  9. TreeView1.Nodes.Clear()
  10. 'Creating the root node
  11. Dim root = New TreeNode("Application")
  12. TreeView1.Nodes.Add(root)
  13. TreeView1.Nodes(0).Nodes.Add(New TreeNode("Project 1"))
  14. 'Creating child nodes under the first child
  15. For loopindex As Integer = 1 To 4
  16. TreeView1.Nodes(0).Nodes(0).Nodes.Add(New _
  17. TreeNode("Sub Project" & Str(loopindex)))
  18. Next loopindex
  19. ' creating child nodes under the root
  20. TreeView1.Nodes(0).Nodes.Add(New TreeNode("Project 6"))
  21. 'creating child nodes under the created child node
  22. For loopindex As Integer = 1 To 3
  23. TreeView1.Nodes(0).Nodes(1).Nodes.Add(New _
  24. TreeNode("Project File" & Str(loopindex)))
  25. Next loopindex
  26. ' Set the caption bar text of the form.
  27. Me.Text = "cankaoshouce.com"
  28. End Sub
  29. End Class

当使用 Microsoft Visual Studio 工具栏上的 开始 按钮执行并运行上述代码时,它将显示以下窗口:

可以展开节点以查看子节点:

分类导航