2010-03-17 73 views
0

我一直在以下方式使用ShowDialog()來顯示所有新窗口。如何在WinForms中使用Show()時關閉窗口C#

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

但是最近我已經開始使用Show()而不是ShowDialog(),它的工作性能好得多。這樣做的唯一缺點是refreshSomeListView();不能像上面的例子那樣使用,因爲如果我把它留在那裏,它會在新窗口出現時立即執行。

什麼是最好的方式知道用戶已關閉test窗口,現在應該執行refreshSomeListView();?這是什麼建議的方法?它應該涉及在關閉/關閉的測試GUI中設置事件,還是有其他更好的方法?

回答

8

您可以訂閱Form.Closed事件並在其處理程序中執行刷新。 Here是此事件的MSDN描述。

+0

尼斯,它的工作原理。您可以使用一些代碼示例更新您的答案,以備將來參考。 – MadBoy 2010-03-17 12:52:18

+1

對於基本問題的基本答案,代碼示例幾乎不是必需的。 – 2010-03-17 13:21:27

+0

儘管Charles沒有看到需求,但這裏是代碼示例的鏈接,以供將來參考http://www.dotnetcurry.com/ShowArticle.aspx?ID=125 – MadBoy 2010-03-17 13:27:17

1

在VB.Net:

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