C#使Form1在Form2关闭后执行操作

时间:2014-11-12 01:23:55

标签: c#

我是C#的新手,我一直在阅读文档和旧问题,但我无法弄清楚如何执行以下操作。

我有两种形式,Form1和Form2。

Form1包含一个包含文件内容的datagridview。 Form1上的按钮打开Form2,用户可以在文本框中输入信息。然后,用户单击Form2上的按钮,该按钮将新内容添加到文件中。一切正常。

现在,Form2上有一个退出按钮。我想要的是,当用户退出Form2时,Form1将立即调用该方法重新加载datagridview,以便更新。当Form2关闭时,如何自动调用此方法?

谢谢,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

如果用户在Form1打开时不必与Form2进行交互,则将第二个表单显示为模式对话框,这将停止以第一种形式执行代码,并且只是显示第二个表单后更新您的网格。

using (var newFrm = new Form2())
{
    newFrm.ShowDialog();  // execution of Form1 stops until Form2 is closed
}

// read the file and update the DataGridView (this line executes when Form2 is closed)

或者,您可以订阅Form2的Closed事件,以便在关闭时执行代码:

var newFrm = new Form2();
newFrm.Closed += delegate
    {
        // read from file and update DataGridView
    };
newFrm.Show();