2010-08-17 66 views
1

我正在製作一個C#Windows應用程序,它內嵌了一個MainForm和許多用戶控件(LoginPage,HomePage,MyListPage等)。我正在使用Visual Studio 2005來設計GUI。c#用戶控制導航

在MainForm的的構造我做的:

Controls.Add(new LoginPage()); 
Controls.Add(new HomePage()); 
Controls.Add(new MyListPage()); 
... 
LoginPage.show(); 

但我有超過30頁,我添加到MainForm的的構造,我覺得這是我的應用程序的滯後性,在其運行的罪魁禍首。有人知道使用用戶控件進行單一導航應用的更加標準化的方式嗎?

回答

1

我假設你有一種瀏覽頁面的方式 - 你的用戶控件不是一次全部顯示?

如果是那樣的話,你應該能夠做到以下幾點:

  1. 創建於建設爲初始頁面使用的用戶控件之一。
  2. 當用戶執行一個動作,這意味着您的應用程序應該移動到另一個頁面,從表單中刪除當前用戶控件,處理它,創建一個新的所需類型,並將其添加到表單中。

如果您只想一次創建每個用戶的控制,你可以使用一個緩存機制,使每一個只創建一次(和刪除他們不處理控件)。

如果使用這種方法,它應該消除一些初始滯後,並在用戶首次導航到每個用戶控件時將其交易爲多個較小的滯後。