什么意思?
嵌套在Form中?

解决方案 »

  1.   

    可以放在Panel里面,设定窗体2的父控件是Panel就可以了
      

  2.   

    有两个方式可以来实现:
    1:
    Form f = new Form();
    f.TopLevel = false;
    this.Controls.Add(f);
    f.Visible = true;2:
    Form f = new Form();
    f.FormBorderStyle = FormBorderStyle.None;
    this.Controls.Add(f);
    f.Visible = true;
      

  3.   

    如下向Panel添加一个带标题栏的窗体.
    Form f=new Form();
    f.TopLevel=false;
    f.Visible=true;
    this.Panel.Controls.Add(f);如下向Panel添加一个不带标题栏的窗体.
    Form f=new Form();
    f.FormBorderStyle = FormBorderStyle.None;
    f.Visible=true;
    this.Panel.Controls.Add(f);
      

  4.   

    参考这个代码
            //子窗体唯一
            public static bool m_HaveChildForm = false;
            public static Form m_UniqueChildForm = null;
            //Panel中窗体object对象
            private object typForm = null;
            private Form childForm = null;#region 加载窗体
            /// <summary>
            /// 根据namespace动态创建窗体
            /// </summary>
            /// <param name="childFormHandleName">类的命名空间+类的名称</param>
            private void LoadChildForm(string childFormHandleName)
            {
                typForm = null;
                //动态反射一个窗体对象
                typForm = Assembly.Load("SISP.ClientSimple").CreateInstance(childFormHandleName);            
                if (typForm != null)
                {
                    if (!m_HaveChildForm)
                    {
                        try
                        {
                            //动态显示窗体
                            ShowChildForm(typForm);
                        }
                        catch
                        {
                            //窗体加载失败!
                            MessageBox.Show("窗体加载失败!");
                        }                }
                    else
                    {
                        m_UniqueChildForm.Close();
                        m_UniqueChildForm.Dispose();
                        m_UniqueChildForm = null;                    m_HaveChildForm = false;                    try
                        {
                            //动态显示窗体
                            ShowChildForm(typForm);                    }
                        catch
                        {
                            //窗体加载失败!
                            MessageBox.Show("窗体加载失败!");
                        }
                    }
                }
            }/// <summary>
            /// 根据object对象动态显示窗体
            /// </summary>
            /// <param name="handleForm">objectform's handle</param>
            private void ShowChildForm(object handleForm)
            {
                try
                {
                    childForm = (Form)handleForm;                //设置窗体级别
                    childForm.TopLevel = false;                //在Panel中加载窗体对象
                    this.spCon_Main.Panel2.Controls.Add(childForm);                //让窗体布满整个Panel控件中
                    childForm.Dock = DockStyle.Fill;                //根据整体主窗体样式变化子窗体的样式
                    //FormStyleCustom(childForm);                //显示子窗体
                    childForm.Show();                m_HaveChildForm = true;
                    m_UniqueChildForm = childForm;
                }
                catch
                {
                    //窗体加载失败!
                    MessageBox.Show("窗体加载失败!");
                }        }