【问题标题】:C# Make Form1 Do An Action After Form2 is ClosedC#让Form1在Form2关闭后执行一个动作
【发布时间】:2014-11-12 01:23:55
【问题描述】:

我是 C# 新手,我一直在阅读文档和旧问题,但我不知道如何执行以下操作。

我有两个表格,Form1 和 Form2。

Form1 包含一个数据网格视图,其中包含来自文件的内容。 Form1 上的按钮打开 Form2,用户可以在其中在文本框中输入信息。然后,用户单击 Form2 上的按钮,将新内容添加到文件中。这一切都很好。

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

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

【问题讨论】:

  • form2.Closing 事件。
  • 我只是在使用 Form2 newFrm = new Form2(); newFrm.Show();打开它。
  • 不,当 Form2 打开时,用户不必与 Form1 交互。

标签: c#


【解决方案1】:

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

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

【讨论】:

  • 谢谢谢谢谢谢!啊,我不敢相信我在搜索时没有找到任何关于模态对话框的信息,它让一切变得如此简单!我的程序现在运行良好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多