我想让 X 控件关闭窗口以隐藏当前显示的前一个表单。
在form1中我得到:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Tag = this;
form2.Show(this);
Hide();
}
然后当我单击 XI 时想显示上一个并隐藏当前。
我想让 X 控件关闭窗口以隐藏当前显示的前一个表单。
在form1中我得到:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.Tag = this;
form2.Show(this);
Hide();
}
然后当我单击 XI 时想显示上一个并隐藏当前。
您不应该Form.OnFormClosing()
仅仅为此而覆盖。该Form.FormClosing
事件为您提供此功能:
void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
// Prevent the user from closing this window, minimize instead.
if (e.CloseReason == CloseReason.UserClosing)
{
this.WindowState = FormWindowState.Minimized;
e.Cancel = true;
}
}
您可以覆盖OnFormClosing来执行此操作。
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.WindowsShutDown) return;
// DO WHATEVER HERE
}
您必须跟踪您的实例化表单。
// Program.cs
public static FormA Instance;
public static void Main()
{
Instance = new FormA();
Instance.Show();
}
然后:
// FormB.cs
private void button1_Click(object sender, EventArgs e)
{
Hide(); // Hide current...
Program.Instance.Show(); // Show previous...
}