📜  cs 在重新打开时关闭打开的表单 - C# (1)

📅  最后修改于: 2023-12-03 15:14:17.451000             🧑  作者: Mango

CS 在重新打开时关闭打开的表单 - C#

在 Windows 应用程序开发中,经常需要打开和关闭窗体或表单。在某些情况下,您需要关闭先前打开的表单,以便能够打开新表单。

下面是一个示例,展示如何在 C# 中关闭先前打开的窗体,以便能够重新打开窗体。这个示例使用了一个简单的窗体,它包含两个按钮:一个用于打开表单,另一个用于关闭表单。

准备工作

在示例中,您需要使用 Visual Studio 2019(或更高版本)和 .NET Framework 4.7.2(或更高版本)。

步骤
  1. 创建一个新的 Windows 应用程序项目。

  2. 打开 Form1.cs 文件,并添加两个按钮控件 comBtn 和 closeBtn。

private System.Windows.Forms.Button comBtn;
private System.Windows.Forms.Button closeBtn;
  1. 编写代码打开 Form2 表单窗口。
private void comBtn_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog();
    this.Hide();
}
  1. 编写代码,以便在 Form1 窗口关闭之前关闭 Form2 窗口。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    foreach (Form form in Application.OpenForms)
    {
        if (form.GetType() == typeof(Form2))
        {
            form.Close();
            break;
        }
    }
}
  1. 编写代码,以便在 “Close” 按钮单击时关闭 Form2 窗口。
private void closeBtn_Click(object sender, EventArgs e)
{
    foreach (Form form in Application.OpenForms)
    {
        if (form.GetType() == typeof(Form2))
        {
            form.Close();
            break;
        }
    }
}
  1. 在解决方案资源管理器中,右键单击 Form1.cs,选择 View Code。在代码窗口中添加以下代码:
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
  1. 建立并运行应用程序。单击 'Open Form2' 按钮打开新窗口,并单击 'Close' 按钮关闭窗口。在重新打开 Form2 窗口时,您会发现先前打开的窗口已被关闭。
结论

以上示例提供了一个简单的方法,可以在重新打开窗口之前关闭已打开的窗口。您可以根据您的需求进行更改和调整。这个例子只是为了提供一个基本的框架,以便您在将来的项目中使用。