悬赏分:50 浏览:390 次
|
第一个主窗体不能Close,否则你的应用就退出了,你应用退出了,新的窗体当然就显示不出来了。所以如果你需要多次new 主窗体,你需要判断,对于第一个主窗体不能close而是hide,参考下面代码 static int m_ShowMainFormTimes = 0; private void button1_Click(object sender, EventArgs e) { if (m_ShowMainFormTimes++ == 0) { this.Hide(); } else { this.Close(); } FormMain frm = new FormMain(); frm.Show(); } 如果采用最简单的设计,我会让主窗体隐藏而不是关闭。并且使用Singleton Pattern或其它的方式,使所有子窗体都可以访问到主窗体。 然后,子窗体退出前,先将主窗体显示出来。如下: private void button1_click(object sender, EventArgs e) { MainForm.Instance.Visible = true; MainForm.Instance.Activate(); // 确保主窗体显示在最前面。 this.Close(); } |