隐藏后再次显示启动表单

时间:2016-11-08 16:48:23

标签: c# winforms visible

我正在尝试在C#中创建一个双窗体Windows应用程序。为了简单起见并帮助我在其他地方使用它之前弄明白,我基本上创建了一个Windows表单应用程序,它有两种形式:Form1和Form2,Form1在启动时显示。点击一个按钮,我可以让Form1进入"消失"和Form2:

private void button1_Click(object sender, EventArgs e)
{
    Form2 x = new Form2();
    x.Show();
    this.Hide();
}

这很有效。但是,当我想返回Form1(再次使其可见)并卸载Form2时,我不确定如何继续编写Form2以使用单击按钮将用户返回到Form1。我不确定要再次显示该表单的内容,而不必创建新的Form1并加载它,从而使我原来的启动表单保留在内存中。

你能提供的任何帮助都很棒!提前谢谢,

-Jan

2 个答案:

答案 0 :(得分:1)

正如Alfie评论建议的那样,你需要以某种方式控制每个表单的实例。

我建议使用带有两个变量的静态类。启动时,将表单链接到静态类中的这些公共属性。

类似的东西:

public static class App {

  public static Form Form1;
  public static Form Form2;

}

在启动或点击方法上,你会说:

private void button1_Click(object sender, EventArgs e)
{  
    if (App.Form1 != null)
      {
        App.Form1 = new Form1();
      }
    App.Form1.Show();
    App.Form2.Hide();
}

答案 1 :(得分:-1)

这样做:

private void button1_Click(object sender, EventArgs e)
    {
        Form2 x = new Form2();
        this.Hide();
        x.ShowModal();
        this.Show();
    }