How to detect when window is closed when using Show() in WinForms C#
I've been using ShowDialog() in following way for all my new Windows.
SomeGui test = new SomeGui();
test.ShowDialog();
refreshSomeListView();
However recently I've started to use Show() instead of ShowDialog() and it's working much better. The only drawback of this is that refreshSomeListView();
cannot be used like in example above since if i leave it there it'开发者_如何学运维s executed instantly when new Window shows up.
What's the best way to know that the user has closed test
window and that now refreshSomeListView();
should be executed? What's suggested approach for this? Should it involve setting events in test GUI on Close/Closing or there's other / better method?
You can subscribe to the Form.Closed
event and perform refresh in its handler. Here is MSDN description of this event.
In VB.Net:
Dim test as new SomeGui()
AddHandler test.Closed, AddressOf refreshSomeListView
test.Show
精彩评论