C# 关闭所有应用程序单击WinX窗体

C# 关闭所有应用程序单击WinX窗体,c#,winforms,datagrid,C#,Winforms,Datagrid,我正试图根据选择将Form2中的datagrid和标签的名称从Form1更改为Form2 private void button1_Click_1(object sender, EventArgs e) { this.Hide(); Form2 frm = new Form2(); frm.Show(); } private void button2_Click(obj

我正试图根据选择将Form2中的datagrid和标签的名称从Form1更改为Form2

private void button1_Click_1(object sender, EventArgs e)
        {
            this.Hide();

            Form2 frm = new Form2();
            frm.Show();


        }

        private void button2_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();

            frm.dataGridView1.Columns["FirstName"].HeaderText = "Prenom";
            frm.dataGridView1.Columns["LastName"].HeaderText = "Nom";


            this.Hide();
            frm.Show();
        }
上述方法对我来说很好,但我有一个问题。当我在第二个/表格2中单击
X
时,它只是关闭
Form2
而不是
Form1
。当我单击
X
时,如何关闭所有应用程序


有没有更好的方法???我不使用Telerik的原因是我使用Telerik,我没有找到任何选项来添加资源文件。如果我错了,请纠正我。谢谢。

您只需将事件处理程序附加到新创建表单的
Closed
事件,以便它在关闭主表单时关闭主表单:

private void button1_Click_1(object sender, EventArgs e)
{
    this.Hide();

    Form2 frm = new Form2();
    frm.FormClosed += (_, args) => this.Close(); //Added this method
    frm.Show();
}

将相同的方法也添加到另一个单击处理程序。

关闭应用程序的最简单方法是调用静态方法:


如果您只想关闭一个表单,另一种方法是为事件添加一个处理程序并关闭主表单。

您必须向
FormClosing
添加一个事件处理程序。在该处理程序中使用
Application.Exit
实际上并不比关闭主窗体容易多少,并且使用
Exit
方法也不是很好的做法。