Как определить, когда окно закрыто при использовании Show () в WinForms C # - PullRequest
0 голосов
/ 17 марта 2010

Я использовал ShowDialog () следующим образом для всех моих новых Windows.

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

Однако недавно я начал использовать Show () вместо ShowDialog (), и он работает намного лучше. Единственный недостаток этого заключается в том, что refreshSomeListView(); нельзя использовать, как в примере выше, поскольку, если я оставлю его там, оно будет выполнено немедленно, когда появится новое окно.

Какой лучший способ узнать, что пользователь закрыл окно test и что теперь нужно выполнить refreshSomeListView();? Какой предлагаемый подход для этого? Должно ли это включать установку событий в тестовом графическом интерфейсе при закрытии / закрытии или есть другой / лучший метод?

Ответы [ 2 ]

8 голосов
/ 17 марта 2010

Вы можете подписаться на событие Form.Closed и выполнить обновление в его обработчике. Здесь - MSDN-описание этого события.

1 голос
/ 17 марта 2010

В VB.Net:

Dim test as new SomeGui()
AddHandler test.Closed, AddressOf refreshSomeListView
test.Show
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...