一、TreeView 控件的一些常用属性:
1、CheckBoxes 属性:指示是否在树视图控件中的树节点旁显示复选框。
2、FullRowSelect 属性:当FullRowSelect 为 true 时,选择突出显示将跨越树视图的整个宽度,即整个显示区域的宽度而不仅仅是树节点标签的宽度。如果 ShowLines 设置为 true,则将忽略 FullRowSelect 属性。
3、HideSelection 属性:指示选定的树节点是否即使在树视图已失去焦点时仍会保持突出显示。
4、HotTracking 属性:如果 HotTracking 属性设置为 true,那么当鼠标指针移过每个树节点标签时,树节点标签都将具有超级链接的外观。Underline 字体样式将应用于 Font 而 ForeColor 将设置为蓝色,从而使标签显示为链接。注意:如果 CheckBoxes 属性设置为 true,HotTracking 属性将失效。
5、Indent 属性:设置每个子树节点级别的缩进距离(以像素为单位)。
6、ItemHeight 属性:设置树视图控件中每个树节点的高度。
7、Nodes 属性:获取分配给树视图控件的树节点集合。这个属性是TreeView 控件最重要的属性之一,我们下文将会对它进行更加的详细的说明。
8、PathSeparator 属性:树节点路径(TreeNode.FullPath属性)所使用的分隔符串,默认为反斜杠字符(\),树节点路径包括一组由 PathSeparator 分隔符串分隔的树节点标签。标签的范围为根树节点到所需的树节点。如下代码我们可以获得当前选中的节点的路径:MessageBox.Show(TreeView1.SelectedNode.FullPath)
9、SelectedNode 属性:获取或设置当前在树视图控件中选定的树节点,如果没有选定任何节点,则 SelectedNode 属性则为Nothing。
10、ShowLines 属性:指示是否在树视图控件中的树节点之间绘制连线。
11、ShowPlusMinus 属性:指示是否在包含子树节点的树节点旁显示加号 (+) 和减号 (-) 按钮。
12、ShowRootLines 属性:指示是否在树视图根处的树节点之间绘制连线
二、为TreeView 控件添加节点(通过编程方式)
1、添加根结点
Private Sub Button1_Click(...) Handles Button1.Click
If TextBox1.Text = "" Then
TreeView1.Nodes.Add("根节点" & (TreeView1.GetNodeCount(False)))
Else
TreeView1.Nodes.Add(TextBox1.Text)
End If
End Sub
2、添加子节点(选中的节点下添加)
Private Sub Button2_Click(...) Handles Button2.Click
Dim node As TreeNode = TreeView1.SelectedNode
If Not node Is Nothing Then
If TextBox1.Text = " " Then
node.Nodes.Add("子节点" & (node.GetNodeCount(False) + 1))
Else
node.Nodes.Add(TextBox3.Text)
End If
Else
MsgBox("没有选中任何节点")
End If
End Sub
3、删除节点(选中的)
Private Sub Button1_Click(...) Handles Button1.Click
If TreeView1.Nodes.Count > 0 Then
TreeView1.Nodes.Remove(TreeView1.SelectedNode)
End If
End Sub
4、删除所有节点
TreeView1.Nodes.Clear()
三、查找控件节点
1、查找根结点
Private Sub Button3_Click(...) Handles Button3.Click
Dim node As TreeNode
Dim str As String = ""
For Each node In TreeView1.Nodes
str = str & node.Text & vbCr
Next
MsgBox(str)
node = Nothing
End Sub
2、查找所有结点(根节点+子节点)
Private Sub PrintNode(ByVal N As TreeNode, ByRef str As String)
str &= N.Text & vbCr
Dim node As TreeNode
For Each node In N.Nodes
PrintNode(node, str)
Next
End Sub
Private Sub Button2_Click(...) Handles Button2.Click
Dim node As TreeNode
Dim str As String = ""
For Each node In TreeView1.Nodes
PrintNode(node, str)
Next
MsgBox(str)
node = Nothing
End Sub