2010-03-17 3 views
0

나는 내 모든 새 Windows에서 다음과 같은 방식으로 ShowDialog()를 사용하고 있습니다.WinForms에서 Show()를 사용할 때 창이 닫히는 것을 감지하는 방법 C#

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

그러나 최근에는 ShowDialog() 대신 Show()를 사용하기 시작했으며 훨씬 더 효과적입니다. 이 단점은 refreshSomeListView();은 위의 예와 같이 사용할 수 없다는 것입니다. 왜냐하면 새 창이 나타나면 즉시 실행됩니다.

사용자가 test 창을 닫았으며 이제는 refreshSomeListView();이 실행되어야한다는 것을 아는 가장 좋은 방법은 무엇입니까? 이를 위해 제안 된 접근 방식은 무엇입니까? 닫기/닫기시 테스트 GUI에서 이벤트를 설정해야합니까 아니면 다른/더 나은 방법이 있습니까?

답변

8

Form.Closed 이벤트에 가입하여 해당 처리기에서 새로 고침을 수행 할 수 있습니다. Here은이 이벤트에 대한 MSDN 설명입니다. VB.Net에서

+0

니스, 그것을 작동합니다. 나중에 참조 할 수 있도록 몇 가지 코드 예제로 대답을 업데이트 할 수 있습니다. – MadBoy

+1

기본 질문에 대한 기본적인 대답을위한 코드 예제는 거의 필요하지 않습니다. –

+0

Charles가 필요성을 느끼지 못했음에도 불구하고 나중에 참조 할 수 있도록 코드 예제 링크가 있습니다. http://www.dotnetcurry.com/ShowArticle.aspx?ID=125 – MadBoy

1

:

Dim test as new SomeGui() 
AddHandler test.Closed, AddressOf refreshSomeListView 
test.Show 
관련 문제