我想实现这样的布局--------------------------------------------------------------------
菜单 文件 编辑 报表 计算 绘图 
--------------------------------------------------------------------
treeview     | 
节点1        |
  -节点1.1   |
  -节点1.2   |       右边是对应节点生成的窗口
节点2        | 
  -节点2.1   |
             |
             |
             |我的做法
 1 我用了splitContainer 拆分
 2 左边用了treeview请高手解答 1 主窗口是不是该选择多文档,还是单文档,还是对话框 2 点击节点有面显示的窗口,是新建一些form上显示吗?还是在 splitContainer 的panel上显示?  3 我的treeview在运行后,老是比主窗口短,下面对不齐不知道为什么?  谢谢啊!
 

解决方案 »

  1.   

    1、都可以,如果要美观,就用MDI和SDI+控件吧!
    2、都可以,如果是MDI就新建Form,如果是SDI就在Pannel上显示。
    3、用Dock。设置成Left!
      

  2.   

    太巧了,你的要求我刚做了一个项目,就上这样做的,其实用友的U8界面布局也是这样的
    1 用了splitContainer 拆分
    2 左边用了treeview
    窗体加载在splitContainer 的panle2上,没有必要用MDI的,因为窗体已经作为一个控件加到panle上了,如果还有不懂的,在说,
      

  3.   

    没有必要用MDI的!
    1.你可以在主Form上方两个Panle 一个放 treeview  一放要显示的属性!!
    2.对齐的话 设置两个Panle的Dock属性就可以了!
      

  4.   

    1、两个都可以,看风格哈……
    2、两个都可以,看风格哈……不过风格要和上面统一
    3、用Dock属性
      

  5.   

    1 主窗口是不是该选择多文档,还是单文档,还是对话框
    :用MDI.
     2 点击节点有面显示的窗口,是新建一些form上显示吗?还是在 splitContainer 的panel上显示?
    :对每个节点(功能)对应一个窗口(Form)
      3 我的treeview在运行后,老是比主窗口短,下面对不齐不知道为什么?
    : "1 我用了splitContainer 拆分 2 左边用了treeview",vs2005可以实现更好地效果,类似.net的功具箱(自动隐藏显示)...
      

  6.   

    我刚做了个类似的项目, 用的是 SDI + 自已写代码 添加窗口列表及 控制单窗体示例.用MDI 在客户区放东东效果不太好.
      

  7.   

    太巧了,你的要求我刚做了一个项目,就上这样做的,其实用友的U8界面布局也是这样的
    1 用了splitContainer 拆分
    2 左边用了treeview
    窗体加载在splitContainer 的panle2上,没有必要用MDI的,因为窗体已经作为一个控件加到panle上了,如果还有不懂的,在说,
    ----------------------------------------------------------------------------------
    先谢谢你啊 
    你的意思就是说:
    1 我可以选择SDI模式,把那个多文档模式设置为false2 点击左边的树形控件treeview 的节点时,直接拿对应的form在splitContainer 右边的panel上显示对吗?
      

  8.   

    yumanqing(笨鸟先飞) 兄,再问你一个问题我如何把一个新的窗口显示在splitContainer 右边的panel上了我是这么写的运行不了splitContainer.panel2.Controler.add(new form1()),
    结果运行是主界面还出不来
      

  9.   

    --------------------------------------------------------------------
    菜单 文件 编辑 报表 计算 绘图 
    --------------------------------------------------------------------
    treeview     | 
    节点1        |
      -节点1.1   |
      -节点1.2   |       右边是对应节点生成的窗口
    节点2        | 
      -节点2.1   |
                 |这样的布局,点击节点,窗口在右边显示,该如何做了?
    高手说一下把,谢谢,急啊
      

  10.   

    这样的
     frmMonthActionPlan fmonth = new frmMonthActionPlan(MyParameter.LoginUser);
                                    //fv.WindowState = FormWindowState.Maximized;
                                    fmonth.TopLevel = false;
                                    fmonth.FormBorderStyle = FormBorderStyle.None;
                                    this.splitContainer1.Panel2.Controls.Add(fmonth);
                                    this.splitContainer1.Panel2.Controls.SetChildIndex(fmonth, 0);
                                    fmonth.Show();
      

  11.   

    fmonth 是你要显示的窗口吗?
      

  12.   

    Form1 from1 = new Form1();
                from1.TopLevel = false;
                from1.Parent = panel1;
                from1.Show();
      

  13.   

    treeview_afterselectchange
    {
       switch(e.node.tag.tosting())
    {
        case "...":
        FormChild frm = new     FormChild();
        frm.Parent = this;
        frm.Show();
        break;
        ...
        case "":
        break;
    }
    }是这样吗?
      

  14.   

    MDI的窗体,现在用的感觉不多了,用pannel替代倒是不错,用各个控件的dock属性设置吧。
      

  15.   

    其实你可以参考下VS2005的风格,做成用tab页面来打开你的窗体比较好