关闭所有应用程序单击X Winform

时间:2012-10-12 19:55:31

标签: c# winforms 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的原因,我没有找到任何添加资源文件的选项。如果我错了,请纠正我。谢谢。

2 个答案:

答案 0 :(得分:1)

您只需将事件处理程序附加到新创建的表单的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();
}

将同样的方法添加到其他点击处理程序中。

答案 1 :(得分:0)

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

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