VB中如何获得Treeview中第一个节点??
Treeview.nodes(1)不一定是第一个的,比如排过序后就不一定是了。

解决方案 »

  1.   

    Private Sub Form_Load()
       Dim nodX As Node
       Dim i As Integer
       TreeView1.BorderStyle = vbFixedSingle '显示边框。
       
       Set nodX = TreeView1.Nodes.Add(, , , "Root") '添加第一个节点。
       For i = 1 To 15   '添加 15 个节点。
          Set nodX = TreeView1.Nodes.Add(i, , , "Node " & CStr(i))
       Next i
       Set nodX = TreeView1.Nodes.Add(, , , "Bottom") '添加一个带文本的节点。
       Set nodX = TreeView1.Nodes.Add(i, , , "Expanded") '在节点中添加子节点。
       Set nodX = TreeView1.Nodes.Add(i + 1, , , "Show me") '添加最后的子节点。
    End SubPrivate Sub Form_Click()
       '在单击窗体时,树将滚动和展开。
       TreeView1.Nodes(TreeView1.Nodes.Count).EnsureVisible
       TreeView1.Sorted = True'在单击窗体时,排序
    End Sub
    Private Sub TreeView1_Click()
    If TreeView1.Sorted = False Then MsgBox TreeView1.Nodes(1).Text
     If TreeView1.Sorted = True Then
    Dim a()
    K = TreeView1.Nodes.Count
    ReDim a(K - 1) For i = 1 To TreeView1.Nodes.Count
    a(i - 1) = TreeView1.Nodes(i).Text
     Next
     For i = 0 To UBound(a) - 1
     For J = i + 1 To UBound(a)
     If a(i) > a(J) Then
     X = a(i)
     Y = a(J)
     a(i) = Y
     a(J) = X
     End If
     Next
     Next
     MsgBox a(0)
     For i = 1 To TreeView1.Nodes.Count
     If TreeView1.Nodes(i).Text = a(0) Then
     MsgBox "index=" & i
     End If
     
     Next
     End If
    End Sub
      

  2.   

    先用变量记录未排序前的节点(Key值),排序后比较就是了