【问题标题】:How to detect when window is closed when using Show() in WinForms C#在 WinForms C# 中使用 Show() 时如何检测窗口何时关闭
【发布时间】:2010-03-17 12:21:48
【问题描述】:

我一直在以下列方式在我的所有新 Windows 中使用 ShowDialog()。

SomeGui test = new SomeGui();
test.ShowDialog();
refreshSomeListView();

但是最近我开始使用 Show() 而不是 ShowDialog() 并且效果更好。唯一的缺点是 refreshSomeListView(); 不能像上面的例子那样使用,因为如果我把它留在那里,它会在新窗口出现时立即执行。

知道用户已关闭test 窗口并且现在应该执行refreshSomeListView(); 的最佳方法是什么?对此有什么建议的方法?它应该涉及在关闭/关闭的测试 GUI 中设置事件还是有其他/更好的方法?

【问题讨论】:

    标签: c# winforms show


    【解决方案1】:

    您可以订阅Form.Closed 事件并在其处理程序中执行刷新。 Here 是此事件的 MSDN 描述。

    【讨论】:

    • 很好,它有效。您可以使用一些代码示例更新您的答案以供将来参考。
    • 基本问题的基本答案几乎不需要代码示例。
    • 尽管查尔斯没有看到需要,这里是代码示例的链接以供将来参考dotnetcurry.com/ShowArticle.aspx?ID=125
    【解决方案2】:

    在 VB.Net 中:

    Dim test as new SomeGui()
    AddHandler test.Closed, AddressOf refreshSomeListView
    test.Show
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多