c#用户控制导航

时间:2010-08-17 17:33:00

标签: c# winforms user-controls controls navigation

我正在制作一个c#windows应用程序,其中嵌入了一个MainForm和许多用户控件(LoginPage,HomePage,MyListPage等)。我正在使用Visual Studio 2005来设计GUI。

在MainForm的构造函数中,我做了:

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

但是我有超过30个页面添加到MainForm的构造函数中,我认为这是我的应用程序在运行时滞后的罪魁祸首。有没有人知道使用用户控件的单一形式导航应用程序的更标准化方法?

1 个答案:

答案 0 :(得分:1)

我假设您有一种在页面之间导航的方法 - 您的用户控件不是一次全部显示?

如果是这种情况,您应该能够执行以下操作:

  1. 在构造上创建一个用户控件以用作初始页面。
  2. 当用户执行的操作意味着您的应用应该移动到另一个页面时,从表单中删除当前用户控件,处理它,创建所需类型的新控件,并将其添加到表单中。
  3. 如果您只想创建一次每个用户控件,则可以使用缓存机制,以便每个只创建一次(并且在删除控件时不要丢弃控件)。

    如果您使用这种方法,它应该摆脱一些初始延迟,并在用户首次导航到每个用户控件时将其换成多个较小的滞后。