如何在WinForms C#中使用Show()时检测窗口何时关闭

时间:2010-03-17 12:21:49

标签: c# winforms show

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

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

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

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

2 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:1)

在VB.Net中:

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