2013-03-15 17 views
4

我有一些東西在OnShow事件的主要表格填充一些程序StuffLB的列表框。我需要填寫這些列表框後,我的任何其他形式已被顯示與ShowModal的電話。爲什麼主窗體的OnShow不會觸發?

經過這樣一個模式窗體關閉,主要形式是剛剛粉刷那裏的模態的形式是其OnShow不會觸發事件。

我可以得到OnShow事件觸發的唯一方法是:

frmM.Hide; 
frmB.ShowModal; 
frmM.Show; 

是我能得到列表框填滿每ShowModal通話子表單後使用StuffLB調用的唯一途徑?我有大約25個可用的表單。

我曾希望OnShow中的意思,當它再次顯示,無論是在部分或全部。

我很感激任何幫助或建議。

+3

您的主窗體在模態窗體背後清晰可見。當表單從隱藏變爲可見時,OnShow會觸發。 – 2013-03-15 20:58:56

回答

8

OnShow事件在窗體變得可見時觸發。您可能會使用的是OnActivate事件。但是,由於代碼是調用另一種形式的ShowModal,因此只需將代碼放在一個單獨的方法中,然後在此調用並在FormShow中調用。

+0

關閉模式窗體後,OnActivate不會觸發。不過,將「FormShow」的相關部分放入一個單獨的方法並在ShowModal之後調用它是個不錯的主意。 – 2013-03-21 21:09:08

相關問題