2013-03-21 29 views
1

我使用帶有多個標籤(> 10)的tabControl,每個標籤都有UserContol。但標籤在啓動我的應用程序時初始化每個控件。這讓我的節目太慢了。我只想在點擊它時運行我的用戶控件。我怎樣才能做到這一點?tabcontrol中標籤的初始化

+1

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-03-21 09:12:34

回答

1

你應該改進你的用戶控件,他們不做性能的東西,直到他們被激活/可見。爲他們提供一種方法Activate,當製表符變爲選定選項卡時,tabcontrol將調用這個方法。

或者,您無法將UserControls添加到設計器中的TabPage內容。當選項卡變爲活動狀態時,請創建您的UserControl。但是這會讓他們在設計師中變得不可思議。

0

你可以有一個標記,如IsLoaded,直到選中一個標籤,不加載控件。然後選擇選項卡時,如果尚未加載選項卡,則可以加載控件並在運行時將它們添加到標籤Controls

或者,您可以添加控件,但不會對它們執行任何操作,直到選中選項卡,然後每個選項卡將執行計算或任何操作並更新正確的控件。

這都是關於你的設計。

0

爲您的UserControl的Load事件添加處理程序。然後在處理程序中啓動緩慢的活動。