VB中TreeView控件里有两层节点,单击第一层节点才可以打开第二层节点,第二层的节点有几个,我想做到以下功能:
    在第二层里,单击第一个节点我想弹出一个msgbox,其内容为一;单击第二个节点我想弹出一个msgbox,其内容为二;单击第三个节点我想弹出一个msgbox,其内容为三.    能帮我写出上述功能的代码和其属性吗?

解决方案 »

  1.   

    TreeView 控件的简介          TreeView 控件显示 Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成。TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。语法Treeview说明创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折回 Node 对象来显示或隐藏所有子节点。Collapse、Expand 和 NodeClick 三个事件也提供编程功能。Node 对象使用 Root、Parent、Child、FirstSibling、Next、Previous 和 LastSibling 属性。在代码中可通过检索对 Node 对象的引用,从而在树上定位。也可以使用键盘定位。UP ARROW 键和 DOWN ARROW 键向下循环穿过所有展开的 Node 对象。从左到右、从上到下地选择 Node 对象。若在树的底部,选择便跳回树的顶部,必要时滚动窗口。RIGHT ARROW 键和 LEFT ARROW 键也穿过所有展开的 Node 对象,但是如果选择了未展开的 Node之后再按 RIGHT ARROW 键,该 Node 便展开;第二次按该键,选择将移向下一个 Node。相反,若扩展的 Node 有焦点,这时再按 LEFT ARROW 键,该 Node 便折回。如果按下 ANSI 字符集 中的键,焦点将跳转至以那个字母开头的最近的 Node。后续的按该键的动作将使选择向下循环,穿过以那个字母开头的所有展开节点。控件的外观有八种可用的替换样式,它们是文本、位图、直线和 +/- 号的组合,Node 对象可以任一种组合出现。TreeView 控件使用由 ImageList 属性指定的 ImageList 控件,来存储显示于 Node 对象的位图和图标。任何时刻,TreeView 控件只能使用一个 ImageList。这意味着,当 TreeView 控件的 Style 属性被设置成显示图像的样式时,TreeView 控件中每一项的旁边都有一个同样大小的图像。提示: TreeView 控件是 MSCOMCTL.OCX 文件中的一组 ActiveX 控件的一部分。为了在应用程序中使用 TreeView 控件,必须将 MSCOMCTL.OCX 文件添加到工程中。在发行应用程序时,要在用户的 Microsoft Windows System 或 System32 目录中安装 MSCOMCTL.OCX 文件。
      

  2.   

    '在工具箱内添加Microsoft Windows Common Controls 6.0
    '在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
      

  3.   

    Private Sub Form_Load()
    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
      

  4.   

    Add 
    --------------------------------------------------------------------------------
    描述: 
      添加一个节点
     
      
    语法: 
      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 
      

  5.   

    Nodes 
    --------------------------------------------------------------------------------
    描述: 
      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 
      

  6.   

    '定义一个TreeView控件name为:trvX
    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
      

  7.   

    starsoulxp(星魂.NET) ,你是从哪儿找到的这些控件的详细说明啊?
    推荐一下
      

  8.   

    你查MSDN就可以查到很详细的说明的,自己看了比别人给你说的效果好的
      

  9.   

    online(龙卷风V3.0--笑傲江湖) 的已经很好实现了
    如果你的内容是变化的,可以用一个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
      

  10.   

    online(龙卷风V3.0--笑傲江湖) 的已经很好实现了
    如果你的内容是变化的,可以用一个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