现在我的主界面上面有三个按钮,点击每一个按钮都会弹出一个MDI窗体,我想先点击Button1,显示出来MDI1,点击Button2显示出来MDI2,然后再点击Button1,把刚才已经Show出来的窗口显示出来,而不是再显示一个新的窗口,该如何做?

解决方案 »

  1.   

    这样写MDI1
    public partial class MDI1 : Form
        {
            private static MDI1 s_CurForm = null;
            private MDI1()
            {
                InitializeComponent();
            }
            public static void ShowWindow(Form mdiParent)
            {
                if (s_CurForm == null)
                {
                    s_CurForm = new MDI1();
                    s_CurForm.MdiParent = mdiParent;
                    s_CurForm.Show();
                }
                else
                {
                    s_CurForm.Activate();
                    s_CurForm.WindowState = FormWindowState.Normal;            }        }
            protected override void OnClosed(EventArgs e)
            {
                base.OnClosed(e);
                s_CurForm = null;
            }    }
      

  2.   

    使用时直接调用MDI1.ShowWindow方法