6. Root 属性(Node 对象)
返回对所选 Node 的根 Node 对象的引用。
语法
object.Root
object 所在处代表是对象表达式,其值是“应用于”列表中的对象
说明
Child、FirstSibling、LastSibling、Previous、Parent、Next 和 Root 各属性全将返回对另一个 Node 对象的引用。因此,可以同时引用并执行对 Node 的操作,如下所示:
With TreeView1.Nodes(x).Root
.Text = "New text"
.Key = "New key"
.SelectedImage = 3
End With
也可以将对象变量设置为被引用的 Node,如下所示:
Dim NodRoot As Node
'得到对节点 x 的根的引用。
Set NodRoot = TreeView1.Nodes(x).Root
'用此引用执行对根节点的操作。
With nodRoot
.Text = "New text" '改变文本。
.Key = "New key" '改变键。
.SelectedImage = 3 '改变 SelectedIma
7. Parent 属性(Node 对象)
这个属性返回或设置 Node 对象的父对象。仅在运行时可用。
语法
object.Parent[ = node]
Parent 属性的语法包含下面部分:
部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
node 变成该对象的父对象的 Node 对象。
说明
在运行时,设置这个属性为一个对象的操作不能搞成一个循环,否则便发生错误。例如,不能将任何 Node 设置成为其后代的子 Node。
Child、FirstSibling、LastSibling、Previous、Parent、Next 和 Root 属性都返回对另一个 Node 对象的引用。所以可以同时引用并执行对一个 Node 的操作,如下所示:
With TreeView1.Nodes(x).Parent
.Text = "New text"
.Key = "New key"
.SelectedImage = 3
End With
也可以将对象变量设置为引用的 Node,如下所示:
Dim NodParent As Node
Private Sub TreeView1_DragDrop(Source As Control, x As Single, y As Single)
'如果用户没移动鼠标,或在无效区释放它。
If TreeView1.DropHighlight Is Nothing Then
indrag = False
Exit Sub
Else
'设置被拖动的节点的 parent 属性为目标节点。
On Error GoTo checkerror '阻止循环错误。
Set nodX.Parent = TreeView1.DropHighlight
Cls
Print TreeView1.DropHighlight.Text & _
" is parent of " & nodX.Text
'释放 DropHighlight 引用。
Set TreeView1.DropHighlight = Nothing
indrag = False
Exit Sub '如未发生错误则退出。
End If
checkerror:
'定义表示 Visual Basic 错误代码的常数。
Const CircularError = 35614
If Err.Number = CircularError Then
Dim msg As String
msg = "A node can't be made a child of its own children."
'显示带有一个感叹号图标
'和“确定”与“取消”按钮的消息框。
If MsgBox(msg, vbExclamation & vbOKCancel) = vbOK Then
'释放
9. Children 属性
这个属性返回包含在 Node 对象中的各子 Node 对象的个数。
语法
object.Children
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
说明
在执行一个影响子节点的操作之前,可用 Children 属性检查 Node 对象是否有子节点。例如,以下代码在检索第一个 Node 的 Text 属性之前,使用 Child 属性检查子节点的存在。
Private Sub TreeView1_NodeClick(ByVal Node As Node)
If Node.Children > 0 Then
MsgBox Node.Child.Text
End If
End Sub
Children 属性示例
这个例子在 TreeView 控件中放置几个 Node 对象。这组代码检查 Node 是否有子节点。如果有,则显示子节点的文本。为试用此例,在窗体上安放一个 TreeView 控件,并在窗体的声明部分中粘贴下面的代码。运行此例,单击 Node 对象以选择它,然后单击该窗体来察看 Node 对象的子节点的文本。
Option Explicit
Private Sub Form_Click()
Dim strC As String
Dim N As Integer
If TreeView1.SelectedItem.Children > 0 Then '有子节点。
10. FirstSibling 属性(Node 对象)
这个属性返回对 TreeView 控件中的 Node 对象的第一个相邻对象的引用。
语法
object.FirstSibling
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象
说明
第一个相邻节点是出现在一个节点层中第一个位置上的 Node。实际上到底是哪一个 Node 出现在第一个位置取决于在那一层上的 Node 对象是否被排序,这由 Sorted 属性确定。
Child、FirstSibling、LastSibling、Previous、Parent、Next 和 Root 属性都返回对另一个 Node 对象的引用。所以可以同时引用并执行对一个 Node 的操作,如下所示:
With TreeView1.Nodes(x).FirstSibling
.Text = "New text"
.Key = "New key"
.SelectedImage = 3
End With
也可以将对象变量设置为引用的 Node,如下所示:
Dim NodFirstSib As Node
'获取 Node x 的第一个相邻节点的引用。
Set NodFirstSib = TreeView1.Nodes(x).FirstSibling
'使用这个引用执行对第一个相邻 Node 的操