微软treeview控件能不能直接在树中进行编辑呢?
假定有一个root 下面有child1,child2,child3
在child1下面有child1-1
在child2下面有child2-1
在child3下面有child3-1
问题是我只点child1或child2或child3时使一个command控件有效,其他都无效dim nodx as node
 treeview1.nods.add , , "root","root"
 set nodx=treeview1.nods.add ("root",4,"child1","child1")
    treeview1.nods.add("root",4,"child2","child2")
    treeview1.nods.add("root",4,"child3","child3")
    treeview1.nods.add("child1",4,"child1-1","child1-1")
    treeview1.nods.add("child2",4,"child2-1","child2-1")
   treeview1.nods.add("child3",4,"child3-1","child3-1")
   nodx.EnsureVisible
上面中nodx只是root的节点对象,nodx.child.key应该是child1
 nodx.next是什么意思呢?是不是child2呢,但好象不是

解决方案 »

  1.   

    1、楼主可以使用treeview 的 NodeClick 事件,NodeClick 事件有一个 node 参数,
       对 node 判断是不是 child1或child2或 child3就可以设置 Command 控件是否有效了
    2、nodex 的 next 应该是他同级的节点,这里应该是 child2
      

  2.   

    Private Sub Command1_Click()
        Dim n As Node
        Static i As Integer
        i = i + 1
        If TreeView1.Nodes.Count = 0 Then
        Set n = TreeView1.Nodes.Add(, , , "计算机系", i)
        Else
        Set n = TreeView1.Nodes.Add(TreeView1.Nodes(1), tvwLast, , "输入系名", i)
        End If
        n.Selected = True
        TreeView1.StartLabelEdit
    End SubPrivate Sub Command2_Click()
        If TreeView1.Nodes.Count = 0 Then Exit Sub
        Dim n As Node
        Dim i As Integer
        i = TreeView1.SelectedItem.Index
        If TreeView1.Nodes(i).Parent Is Nothing Then
            Set n = TreeView1.Nodes.Add(i, tvwChild, , "输入班级", i)
        Else
            Set n = TreeView1.Nodes.Add(i, tvwLast, , "输入班级", i)
        End If
        n.EnsureVisible
        n.Selected = True
        TreeView1.StartLabelEdit
        能,当然能.
    TreeView1.StartLabelEdit是vb处于可编辑状态