请问如何判断在TreeView中有没有节点被选中呀?

解决方案 »

  1.   

    利用node.key或node.text进行比较就可
      

  2.   

    TreeView是在Form_Load的时候就载入了,Form_Load之后就直接判断TreeView中有没有节点被选中呀
      

  3.   


    1,添加节点:
    TreeView1.Nodes.Add , "R", "root", ""
        TreeView1.Nodes.Add "root", tvwChild, "key1", "aa"
        TreeView1.Nodes.Add "key1", tvwChild, "key11", "ccc"
        TreeView1.Nodes.Add "root", tvwChild, "key2", "bb"
        TreeView1.Nodes.Add "key2", tvwChild, "key21", "ddd"
        TreeView1.Nodes.Add "key2", tvwChild, "key22", "eee"
        TreeView1.Nodes.Add "key22", tvwChild, "key221", "fff"
        For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes(i).Expanded = True '展开纪录
        Next
       ' TreeView1.Checkboxes = True    '添加复选框
        TreeView1.Nodes.Add , "R", "root", ""
        TreeView1.Nodes.Add "root", tvwChild, "key1", "aa"
        TreeView1.Nodes.Add "key1", tvwChild, "key11", "ccc"
        TreeView1.Nodes.Add "root", tvwChild, "key2", "bb"
        TreeView1.Nodes.Add "key2", tvwChild, "key21", "ddd"
        TreeView1.Nodes.Add "key2", tvwChild, "key22", "eee"
        TreeView1.Nodes.Add "key22", tvwChild, "key221", "fff"
        For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes(i).Expanded = True '展开纪录
        Next
        'TreeView1.Checkboxes = True    '添加复选框Dim nodX As Node
       
      'add some test items
       Set nodX = TV1.Nodes.Add(, , "R", "Root")
       Set nodX = TV1.Nodes.Add("R", tvwChild, "C1", "Child 1")
       Set nodX = TV1.Nodes.Add("R", tvwChild, "C2", "Child 2")
       Set nodX = TV1.Nodes.Add("R", tvwChild, "C3", "Child 3")
       Set nodX = TV1.Nodes.Add("R", tvwChild, "C4", "Child 4")
       nodX.EnsureVisible
       
       Set nodX = TV1.Nodes.Add("C3", tvwChild, "C31", "Child 3 SubC 1")
       Set nodX = TV1.Nodes.Add("C3", tvwChild, "C32", "Child 3 SubC 2")
       nodX.EnsureVisible
       
       Set nodX = TV1.Nodes.Add("C31", tvwChild, "C321", "Child 3 SubC 1 SubC 1")
       
       Set nodX = TV1.Nodes.Add("C4", tvwChild, "C41", "Child 4 Subchild 1")
       nodX.EnsureVisible
    2,添加复选框
          'TreeView1.Checkboxes = True    '添加复选框
    3,遍历TreeView的代码Private Sub Command1_Click()
        Dim i As Long
        
        For i = 1 To TreeView1.Nodes.Count
            MsgBox TreeView1.Nodes(i).Text
        Next
    End Sub
    4点击某个节点得到次节点的路径
    Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
        MsgBox Node.FullPath
    End Sub
    7, 全部展开与合龙树
    For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes(i).Expanded = True '展开纪录
            Next
    8, 输出节点K的位置
    Private Sub TreeView1_NodeClick(ByVal Node As ComctlLib.Node)
     ' MsgBox Mid(Node.Key, 1, 1)
      MsgBox Node.Key               '輸出節點的k的值(節點位置)End Sub
    9, 如何控制点击不同的节点执行不同的任务
    Private Sub TreeView1_NodeClick(ByVal Node As ComctlLib.Node)
     ' MsgBox Mid(Node.Key, 1, 1)
     ' MsgBox Node.Key '输出节点k的位置
     ' MsgBox Node.Text '输出节点的值
       If Node.Text = "aa" Then
          MsgBox ("ok")
       End If
    End Sub
    10, 清空所有的节点
       TreeView1.Nodes.Clear
    9,添加图片:
    Dim imgx As ListImage
      Set imgx = ImageList1.ListImages.Add(, , LoadPicture("c:\1.ico"))
        Set imgx = ImageList1.ListImages.Add(, , LoadPicture("c:\2.ico"))
          
     TreeView1.ImageList = ImageList1可是我想把ICO放到VB做的软件的目录里,并且不想用绝对路径。。
    要怎么弄?Set imgx = ImageList1.ListImages.Add(, , LoadPicture(app.Path & "\1.ico"))
    或者把图片放到ImageList控件里。
    添加ImageList控件到窗体,设置自定义,--->图像---->插入图片10,读入数据
    一个表
    id(index)   parentid  name
    1             o          a
    2             1          aa
    3             1          ab
    4             2          aa1如何生成树
     a- aa
        | - aa1
        |ab
    谢谢
    SQL = "SELECT * FROM 表 ORDER BY parentid"
        rs.open SQL
        Do Until rs.EOF
            If rs!parentid = 0 Then
                tvDB.Nodes.Add , , "N" & rs!id, rs!name
            Else
                tvDB.Nodes.Add "N" & rs!parentid, 4, "N" & rs!id, rs!name
            End If
            rs.movenext
        Loop