VB中TreeView控件里有两层节点,单击第一层节点才可以打开第二层节点,第二层的节点有几个,我想做到以下功能:
在第二层里,单击第一个节点我想弹出一个msgbox,其内容为一;单击第二个节点我想弹出一个msgbox,其内容为二;单击第三个节点我想弹出一个msgbox,其内容为三. 能帮我写出上述功能的代码和其属性吗?
在第二层里,单击第一个节点我想弹出一个msgbox,其内容为一;单击第二个节点我想弹出一个msgbox,其内容为二;单击第三个节点我想弹出一个msgbox,其内容为三. 能帮我写出上述功能的代码和其属性吗?
'在Form上添加一个TreeView,Name为tvBG
Private Sub Form_Load()
Dim Root As Node'Add some items
With tvBG.Nodes
Set Root = .Add(, , , "Top-level Node #1")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
Set Root = .Add(, , , "Top-level Node #2")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
Set Root = .Add(, , , "Top-level Node #3")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
Set Root = .Add(, , , "Top-level Node #4")
.Add Root.Index, tvwChild, , "Child Node #1"
.Add Root.Index, tvwChild, , "Child Node #2"
.Add Root.Index, tvwChild, , "Child Node #3"
End WithEnd Sub
TreeView1.Nodes.Add , , "root", "root"
TreeView1.Nodes.Add "root", tvwChild, , "child1"
TreeView1.Nodes.Add "root", tvwChild, , "child2"
TreeView1.Nodes.Add "root", tvwChild, , "child3"
TreeView1.Nodes.Add "root", tvwChild, , "child4"
TreeView1.Nodes.Add "root", tvwChild, , "child5"'TreeView1.Nodes("root").Expanded = TrueEnd SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
MsgBox Node.Text
End Sub
--------------------------------------------------------------------------------
描述:
添加一个节点
语法:
Object.add Text, Key, HyperLink, Node, AddType, Image
部分 描述
Object TreeView对象
Text 文本型,节点显示的文本,不能为空
Key 文本型,节点的关键子,在整个树中应是唯一的。不能是纯数字
HyperLink 文本型,节点的链界地址。可以为空
Node 节点对象,配合AddType使用。添加根节点时使用Nothing
AddType 数字型,节点的添加类型,可以使用常数
Image 文本型,节点前的图标,具体内容应为树对象的Images集合中的一个关键字
返回值:
所添加的节点对象Node
例子:
Dim Tree1
Set Tree1 = New TreeView
With Tree1
.Name = "Tree1"
.FirstDisplayLevel = 1
.ImagePath = "../image" .Add "根节点","Root","",Nothing,tvwRoot,"" '添加根节点Node参数必须传入Nothing
.Add "节点1","Key1","链接1",.Nodes("Root"),tvwChild,"" '当AddType=1时,添加子节点
.Add "节点2","Key2","链接2",.Nodes(1),tvwChild,"" 'Nodes集合可以使用关键字和数字两种方式引用
.Add "节点4","Key4","链接4",.Nodes("Key2"),tvwNext,"" '当AddType=3时,添加后置节点,节点放在Node的后面
.Add "节点3","Key3","链接3",.Nodes("Key4"),tvwPrevious,"" '当AddType=2时,添加前置节点,节点放在Node的前面
End With
--------------------------------------------------------------------------------
描述:
TreeView对象的节点集合,使用节点的关键字或序号来引用。节点序号是按照添加顺序排列,而不是显示的顺序。
语法:
Object.Nodes
部分 描述
Object TreeView对象
例子: Dim Tree1
Set Tree1 = New TreeView
With Tree1
.Name = "Tree1"
.FirstDisplayLevel = 1
.ImagePath = "../image" .Add "根节点","Root","",Nothing,0,""
.Add "节点1","Key1","",.Nodes("Root"),1,""
.Add "节点2","Key2","",.Nodes(1),1,""
.Add "节点4","Key4","",.Nodes("Key2"),3,""
.Add "节点3","Key3","",.Nodes("Key4"),2,""
End With
Sub DoIt()
For i=1 To Tree1.NodesCount
Msgbox "第" & i & "个节点:" & Tree1.Nodes(i).Text
Next
End Sub
Private Sub Form_Load()trvX.Nodes.Add Key:="Root", Text:="根节点"
trvX.Nodes.Add relative:="Root", relationship:=tvwChild, Key:="Child1", Text:="一"
trvX.Nodes.Add relative:="Child1", relationship:=tvwNext, Key:="Child2", Text:="二"
trvX.Nodes.Add relative:="Child2", relationship:=tvwNext, Key:="Child3", Text:="三"End SubPrivate Sub trvX_NodeClick(ByVal Node As MSComctlLib.Node)
If Not Node.Key = "Root" Then
MsgBox Node.Text
End If
End Sub
推荐一下
如果你的内容是变化的,可以用一个Select语句实现Private Sub trvX_NodeClick(ByVal Node As MSComctlLib.Node) Select Case Index
Case 1
Case 2
Case 3
Case 4
Case 5 End Select If Not Node.Key = "Root" Then
MsgBox Node.Text
End If
End Sub
如果你的内容是变化的,可以用一个Select语句实现Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node) Dim i As Integer i = Node.Index
Select Case Index
Case 1 '第一层节点
Case 2 '单击第一个节点我想弹出一个msgbox,其内容为一
MsgBox "内容一"
Case 3 '单击第二个节点我想弹出一个msgbox,其内容为二
MsgBox "内容二"
Case 4 '单击第三个节点我想弹出一个msgbox,其内容为三
MsgBox "内容三"
Case Else
MsgBox "警告!"
End SelectEnd Sub