如何把窗体分成左右两个框架,左边是类似资源管理器,右边可以放的子窗体?
我用SplitContainer 可跳不出来的子窗体在我的右边框架中?请各位多多指导啊,我是刚学习C#的,感谢啊.

解决方案 »

  1.   

    把主窗口设为Mid窗口应该可以
      

  2.   

    设置父窗体MdiParent属性和
    子窗体IsContainer属性为true
      

  3.   


    Form2  fm = new Form2();
    fm.TopLevel = false;
    splitContainer1.Controls.Add(fm);
    fm.Show();
      

  4.   

    ……厄 再次笔误
    是MdiParent为true
    IsContainer为false
      

  5.   

    SplitContainer 也使设计时的控件放置更容易。例如,若要创建一个与 Windows 资源管理器类似的窗口,可将 SplitContainer 控件添加到一个 Form 中,并将其 Dock 属性设置为 DockStyle.Fill。同时,将 TreeView 控件添加到 Form 并将其 Dock 属性设置为 DockStyle.Fill。若要完成布局,则添加一个 ListView 控件并将其 Dock 属性设置为 DockStyle.Fill,从而使 ListView 占据 Form 上的剩余空间。在运行时,用户可以使用拆分器调整两个控件的宽度。使用 FixedPanel 属性可指定某个控件不应随 Form 或其他容器一起调整大小。使用 SplitterDistance 可指定拆分器开始的时候位于窗体上的位置。使用 SplitterIncrement 可指定拆分器一次移动多少像素。SplitterIncrement 的默认值是一个像素。使用 Panel1MinSize 和 Panel2MinSize 可指定拆分器条能够移到靠近 SplitContainer 面板外边缘的程度。面板默认的最小大小值为 25 像素。使用 Orientation 属性可指定水平方向。SplitContainer 的默认方向为垂直方向。使用 BorderStyle 属性可指定 SplitContainer 的边框样式,并使其边框样式与添加到 SplitContainer 的控件的边框样式协调。
      

  6.   

    少了个panel2
    splitContainer1.Panel2.Controls.Add(fm);
      

  7.   

    用dotnetbar的splitter控件,网上一找就有
      

  8.   

     private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                if(treeView1.SelectedNode.Text=="222")
                {    
                    Form2  fm = new Form2();
                    fm.TopLevel = false;
                    splitContainer1.Panel2.Controls.Add(fm);
                    //fm.Show();
                }        }
    可没有反应,仍然不行.
      

  9.   

    //fm.Show(); 这句你别注释掉啊
      

  10.   

    嵌入的.
    还有,我用Treeview1
    我双击某一个结点222,在PANEL2中跳出来个FORM2.
    这样好想不对
    private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) 
            { 
                if(treeView1.SelectedNode.Text=="222") 
                {    
                    Form2  fm = new Form2(); 
                    fm.TopLevel = false; 
                    splitContainer1.Panel2.Controls.Add(fm); 
                    //fm.Show(); 
                }         } 
    这样可以在panel2中跳出FORM2.
    private void Form1_Load(object sender, EventArgs e)
            {
                Form2 fm = new Form2();
                fm.TopLevel = false;
                //fm.MdiChildActivate = this;
                splitContainer1.Panel2.Controls.Add(fm);
                fm.Show();
            }
    可我想是双击出现啊.帮帮我啊,谢谢大家.