隐藏后如何再次显示表单?

我有两种forms。 我需要用按钮打开第二个表单。 当我打开form2时,我隐藏了form1。 但是,当我尝试使用按钮从form2再次显示form1时,它不起作用。 我的form1代码是:

Form2 form2 = new Form2(); form2.ShowDialog(); 

里面的form2代码:

 Form1.ActiveForm.ShowDialog(); 

要么

 Form1.ActiveForm.Show(); 

要么

 form1.show(); (form1 doesn't exist in the current context) 

不起作用。 我不想打开新表格

 Form1 form1 = new Form1(); form1.ShowDialog(); 

我想要展示我之前隐藏的forms。 或者我可以将它最小化到任务栏

 this.WindowState = FormWindowState.Minimized; 

并再次从form2最大化它。

 Form2.ActiveForm.WindowState = FormWindowState.Maximized; 

但是,我尝试的方式再次无效。 这些方法有什么问题?

您可以尝试(在Form1按钮上单击)

 Hide(); Form2 form2 = new Form2(); form2.ShowDialog(); form2 = null; Show(); 

或(它应该工作)

 Hide(); using (Form2 form2 = new Form2()) form2.ShowDialog(); Show(); 

保留Form1的实例并将其用于ShowHide

如果您显示如下所示的form2,您可以通过所有者属性从Form2访问Form1:

 form2.ShowDialog( form1 ) 

或者像这样:

  form2.Show( form1 ) 

请注意,您不必使用ShowDialog导致隐藏,并且可以在Form2中移动显示逻辑

这个方法是我发现最适合我的方法

主要表格

 Form2 form2 = new Form2(this); 

中学表格

 private Form Form1 public Form2(Form Form1) { InitializeComponent(); this.Form1 = Form1; Form1.Hide(); } 

稍后关闭时

 private void btnClose_Click(object sender, EventArgs e) { Form1.Show(); this.Close(); }