2010-08-17 55 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. 当用户执行一个动作,这意味着您的应用程序应该移动到另一个页面,从表单中删除当前用户控件,处理它,创建一个新的所需类型,并将其添加到表单中。

如果您只想一次创建每个用户的控制,你可以使用一个缓存机制,使每一个只创建一次(和删除他们不处理控件)。

如果使用这种方法,它应该消除一些初始滞后,并在用户首次导航到每个用户控件时将其交易为多个较小的滞后。