我正在尝试在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
答案 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();
}