2010-12-08 28 views
8

我在C#中用兩個用戶控件創建了一個Windows應用程序。如何在用戶控件可見後調用方法

當窗體加載第一個用戶控件被加載(並顯示),當我點擊下一步時,我加載第二個用戶控件。

現在我想要一個用戶控件可見時調用此用戶控件的方法。

我不能這樣做。如果我從Load事件中調用方法,它會在控件可見之前觸發。

有人可以請指導我如何在控件可見後調用方法。

+2

我只是試圖做到這一點的一天。對於它的價值,我很快意識到無論如何迫使我去尋找這樣一個事件是一個表明我的設計是錯誤的。你想在這裏做什麼? – 2010-12-08 14:11:26

回答

3

您可能想要使用VisibleChanged事件。

例如:

userControl2.VisibleChanged += new EventHandler(this.UserControl2VisibleChanged); 

private void UserControl2VisibleChanged(object sender, EventArgs e) 
{ 
    if(userControl2.Visible) 
    { 
     CallMyMethodIWantToRunWhenUserControl2IsVisibleHere(); 
    } 
} 
+2

`VisibleChanged`可能不會做提問者正在尋找什麼。當UserControl被首次加載時不一定會引發,因爲它的可見性實際上不會改變*。 (默認情況下,`Visible`屬性爲「True」。) – 2010-12-08 14:13:57

相關問題