父结点你加了吗?KEY是‘f’?

解决方案 »

  1.   

    你得先加一个根节点,然后再加入子节点。
    就好象种树得先有树跟,然后有树枝,最后有树叶。
    Option ExplicitPrivate Sub Form_Load()
    Dim nn As Node
    Dim RootID(0 To 2) As Integer, BranchID(0 To 2) As Integer'先长三条树根
    Set nn = TreeView1.Nodes.Add(, , , "Root01")
    RootID(0) = nn.Index
    Set nn = TreeView1.Nodes.Add(, , , "Root02")
    RootID(1) = nn.Index
    Set nn = TreeView1.Nodes.Add(, , , "Root03")
    RootID(2) = nn.Index'第一条根上的三条树枝
    Set nn = TreeView1.Nodes.Add(RootID(0), tvwChild, , "Root01_Branch01")
    BranchID(0) = nn.Index
    Set nn = TreeView1.Nodes.Add(RootID(0), tvwChild, , "Root01_Branch02")
    BranchID(1) = nn.Index
    Set nn = TreeView1.Nodes.Add(RootID(0), tvwChild, , "Root01_Branch03")
    BranchID(2) = nn.Index'第一条根上的第一条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root01_Branch01_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root01_Branch01_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root01_Branch01_Leaf03")'第一条根上的第二条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root01_Branch02_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root01_Branch02_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root01_Branch02_Leaf03")'第一条根上的第三条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root01_Branch03_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root01_Branch03_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root01_Branch03_Leaf03")'再长第二条根上的三条树枝
    Set nn = TreeView1.Nodes.Add(RootID(1), tvwChild, , "Root02_Branch01")
    BranchID(0) = nn.Index
    Set nn = TreeView1.Nodes.Add(RootID(1), tvwChild, , "Root02_Branch02")
    BranchID(1) = nn.Index
    Set nn = TreeView1.Nodes.Add(RootID(1), tvwChild, , "Root02_Branch03")
    BranchID(2) = nn.Index'第二条根上的第一条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root02_Branch01_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root02_Branch01_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root02_Branch01_Leaf03")'第二条根上的第二条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root02_Branch02_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root02_Branch02_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root02_Branch02_Leaf03")'第二条根上的第三条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root02_Branch03_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root02_Branch03_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root02_Branch03_Leaf03")'再长第三条根上的三条树枝
    Set nn = TreeView1.Nodes.Add(RootID(2), tvwChild, , "Root03_Branch01")
    BranchID(0) = nn.Index
    Set nn = TreeView1.Nodes.Add(RootID(2), tvwChild, , "Root03_Branch02")
    BranchID(1) = nn.Index
    Set nn = TreeView1.Nodes.Add(RootID(2), tvwChild, , "Root03_Branch03")
    BranchID(2) = nn.Index'第三条根上的第一条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root03_Branch01_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root03_Branch01_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(0), tvwChild, , "Root03_Branch01_Leaf03")'第三条根上的第二条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root03_Branch02_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root03_Branch02_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(1), tvwChild, , "Root03_Branch02_Leaf03")'第三条根上的第三条树枝上的三片树叶
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root03_Branch03_Leaf01")
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root03_Branch03_Leaf02")
    Set nn = TreeView1.Nodes.Add(BranchID(2), tvwChild, , "Root03_Branch03_Leaf03")
    End Sub
    看起来长了点,不过应该好懂,自己去优化吧。