0

我正在尝试根据选择从 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();
        }

上述方法对我来说效果很好,但我有一个问题。当我在第二个/Form 2 中单击时X,它只是关闭而Form2不是Form1. 当我单击X.

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

4

2 回答 2

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();
}

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

于 2012-10-12T20:07:49.403 回答
0

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

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

于 2012-10-12T20:09:32.907 回答