假如我做了1个主窗体,2个子窗体,请问如何在我的主窗体中点击树图不同 节点,从而改变子窗体,我这样写为什么不行 
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Select Case Node.Key
    Case "l11"
         Form1.Show
    Case "l12"
         Form2.Show
End Select
End Sub
 
主要是当form1.show 执行后 显示 form1 ,当 form2.show 执行后显示 form2
此时再想显示form1的话就没有用了,因为form2 没有被unload ,仍然在前段显示,我如何在有多个界面的时候仍然能保证 当一个form show时其他的卸载?

解决方案 »

  1.   

    你先卸载吧Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
    Select Case Node.Key
        Case "l11"
             if not Form2 is nothing then unload Form2
             Form1.Show
        Case "l12"
             if not Form1 is nothing then unload Form1
             Form2.Show
    End Select
    End Sub
      

  2.   

    那如果有多个窗体呢,如何用treeview调用?
    就是点击不同的节点显示相应的子窗体
      

  3.   

    循环吧对所有form进行循环
      

  4.   

    先定义一个FORM对象,在点节点时,先UNLAOD FORM对象,再LOAD你要的子窗体,把当前窗体的NAME附给FORM对象的NAME,就可以了
      

  5.   

    Dim frm as FormPrivate Sub Display(ByRef f As Form)
      If Not frm Is Nothing Then Unload frm
      Set frm = f
      f.Show
    End SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
      Select Case Node.Key
        Case "l11"
          Display Form1
        Case "l12"
          Display Form2
      End Select
    End Sub
      

  6.   

    谢谢楼上各位谢谢lameig,vb牛人啊