各位大虾,你们好,我想问一个windows编程的问题,我想在窗体的左面显示树型节点,每次点到叶节点,窗体右边就出现处理关于叶节点的界面。谢谢各位,给点帮助。

解决方案 »

  1.   

    判断哪个节点是否被先中,如果被先中,就调用相应的窗体或者做相应的处理。
    如:
    if(this.TreeView1.Node[0].[3].IsSelected)
    {
    相应的代码处理。
    }
      

  2.   

    简单的例子:
    把treeview窗体设位父窗体private regseed nodeinstance; private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
    switch (e.Node.Text)
    {
    case "结点1":                   if (nodeinstance==null) nodeinstance=new nodeinstance1();
    Show(nodeinstance);
    break;
                                         case "结点2":                   if (nodeinstance==null) nodeinstance=new nodeinstance2();
    Show(nodeinstance);
    break;
        }
    }

    public void Show(Form obj)
    {
    if (obj.MdiParent==this)
    obj.Visible = true;
    else
    {
    obj.MdiParent = this;
    obj.Show();
    }
    obj.BringToFront();
    }
      

  3.   


    sorry,
    private regseed nodeinstance   声明错了
    改为:
    private nodeinstance1 nodeinstance1
    private nodeinstance2 nodeinstance2 
    最好每个要显示的窗体都有
      

  4.   

    private nodeinstance1 nodeinstance1
    private nodeinstance2 nodeinstance2
    这个声明是什么意思,nodeinstance是什么意思啊!
      

  5.   

    我可能还没说清楚吧!我想每次点到叶节点时,窗体的右面会显示处理该节点的处理信息,比如规则定义什么的。显示界面和treeview在同一个窗体上,只不过是在右面的空挡处,本来是想在右边加个一webbrowser控件的,但我不太回编网页,这是我第一次做软件,也是刚学c#。谢谢各位大虾,帮帮忙!
      

  6.   

    nodeinstance就是你想显示的每个winform窗体的实例啊
      

  7.   

    明白了,还以为你要用treeview导航呢要显示节点信息,也在treeView1_AfterSelect事件中作上述的判断,右边放大大的label,想漂亮再给label弄个背景啥的,点击不同的node,label上就显示相应的介绍信息。反正别忘了给分我啊,呵呵