解决方案 »

  1.   

    LZ说的这种情况,在一个窗体中使用Wizard控件更合适
      

  2.   

    单例模式。
    窗体只被实例化一次。可以参考下面,方法很多,各有好处缺点。
    http://blog.csdn.net/zz_mm/article/details/8046292
      

  3.   

       private static Form2 openstatus;
            public static Form2 getstatus()
            {
                if (openstatus == null || openstatus.IsDisposed)
                {
                    openstatus = new Form2 ();
                }
                return openstatus;
            }
    调用:
     Form2.getstatus().Close();
     Form2.getstatus().Show();
      

  4.   

    用WPF吧,分成一页一页的,就可以了,还可以自动导航
      

  5.   

    最后我用的是用户控件,一个Form调用许多的UserControl
      

  6.   


    用Panel不是更好吗?usercontrol是做一个可重复使用的控件,如果只用一次的话用panel吧
      

  7.   


    你说的UserControl是指tool box里面的所有控件吗? 你意思是指通过设置控件visable属性来显示它吗?这样排版时会不会很乱?
      

  8.   

    C# 里面有Wizard控件?在哪里?如果加载呀?
      

  9.   


    你说的UserControl是指tool box里面的所有控件吗? 你意思是指通过设置控件visable属性来显示它吗?这样排版时会不会很乱?
    项目右键->新建->用户控件
    跟用户窗体差不多的东西
    既然叫用户控件,那它当然不是系统控件
    还有有人说这玩意只应该使用很多的时候才用,你说的那是自定义控件吧
      

  10.   

    你可以把用户控件理解为FormSytle=none的天然MDI子窗体,不需要设置主窗体为MDI容器就可以放进去
    它也需要show,也有load事件,窗体有的事件和属性很多它也都有
    它相比于panel的好处就是布局简单,都分别在不同的文件里,用哪个加载哪个,而不用在设计阶段就都摆在一个窗体里面
      

  11.   

    当然它跟窗体不同的地方就是会出现在工具箱里,你可以不用代码show,而是直接拖进来
    所以很多时候也可以把它当自定义控件用
      

  12.   

    是父子关系 的窗口么,是的话使用 下边的方法,/// <summary>
            /// 判断窗体是否已打开
            /// </summary>
            private bool IsExistForm(Form frm)
            {
                if (frm == null) return false;
                foreach (Form childFrm in this.MdiChildren)
                {
                    //用子窗体的Name进行判断,如果存在则将他激活
                    if (childFrm.Text == frm.Text)
                    {
                        childFrm.Activate();
                        return true;
                    }
                }
                return false;
            }