N多的子窗体,使用了同样的设置。几乎相同的定义格式。请问,有什么好的解决方案吗?我试着写窗体组,不成功。求教。
如:
                    TW frm0 = new TW();//业务办理      
                    frm0.MdiParent = this;
                    frm0.FormBorderStyle = FormBorderStyle.None;
                    frm0.ControlBox = false;
                    frm0.Text = "";
                    frm0.Tag = "业务办理";
                    frm0.AutoScaleMode = AutoScaleMode.Inherit;
                    frm0.MinimizeBox = false;
                    frm0.MaximizeBox = false;
                    frm0.WindowState = FormWindowState.Maximized;
                    frm0.Show();
                    CW frm1 = new CW();//客户管理
                    frm1.MdiParent = this;
                    frm1.FormBorderStyle = FormBorderStyle.None;
                    frm1.ControlBox = false;
                    frm1.Text = "";
                    frm1.Tag = "客户管理";
                    frm1.AutoScaleMode = AutoScaleMode.Inherit;
                    frm1.MinimizeBox = false;
                    frm1.MaximizeBox = false;
                    frm1.WindowState = FormWindowState.Maximized;
                    frm1.Show();
                    .....................
太多窗体的话,上面的方法也太笨了

解决方案 »

  1.   

    /// <summary>
            /// 名称:checkChildFrmExist
            /// 功能:判断子窗体的多次打开方法,如果子窗体打开或最小化都激活此窗体,否则打开子窗体
            /// 编写人:libinguest
            /// 编写时间:2009-04-30
            /// </summary>
            /// <param name="MdiForm">MDI窗体类</param>
            /// <param name="ChildForm">子窗体类</param>
            public static void checkChildFrmExist(Form MdiForm, Form ChildForm)
            {
                foreach (Form tempChildForm in MdiForm.MdiChildren)
                {
                    if (tempChildForm.Name == ChildForm.Name.ToString()) //用子窗体的Name进行判断是否已实例化,如果存在则将他激活
                    {
                        if (tempChildForm.WindowState == FormWindowState.Minimized)
                        {
                            tempChildForm.WindowState = FormWindowState.Normal;
                        }
                        tempChildForm.Activate();
                        return;
                    }
                }
                ChildForm.MdiParent = MdiForm;
                ChildForm.Show();
            }
      

  2.   

    设定一个父窗口,把一些相同的属性设置好,其他的继承这个窗口就行了
    这样相同的属性就不用设置了
    至于创建具体的Form,看需要,也有方法,也不用去一个个的生成
      

  3.   

    是否可以建产子窗体的集合,以集合项的方式分别设定呢?
    比如 form[100]                    form[1] .MdiParent = this;
                        form[1] .FormBorderStyle = FormBorderStyle.None;
                        form[1] .ControlBox = false;
                        form[1] .Text = "";
                        form[1] .Tag = "客户管理";
                        form[1] .AutoScaleMode = AutoScaleMode.Inherit;
                        form[1] .MinimizeBox = false;
                        form[1] .MaximizeBox = false;
                        form[1] .WindowState = FormWindowState.Maximized;
                        form[1] .Show();