【发布时间】:2016-11-08 16:48:23
【问题描述】:
我正在尝试用 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 并加载它,从而将我原来的启动表单留在内存中。
您能提供的任何帮助都会很棒!提前致谢,
-一月
【问题讨论】:
-
将原始表单作为变量传递给第二个表单,您需要将其存储以便能够再次调用它 - 在
Form2构造函数Form2(Form1 x)中并将其存储为变量,然后当你想重新打开它你可以从Form2的变量中调用它 -
x.FormClosing += (s, cea) => { if (!cea.Cancel) this.Show(); };看看其他程序这样做的方式,他们很少交换窗口。使用交换其内容的单个主窗口是正常的 UI。你可以通过创建用户控件而不是表单来实现。