从表单打开表单的最快方法是什么?

时间:2009-01-10 13:23:12

标签: c# windows-mobile

从Form1打开Form2的快速有效方法是什么?

我在WinCE(有限的内存和CPU能力)工作,所以这一点很重要。

4 个答案:

答案 0 :(得分:2)

根据您的要求,您可能会欺骗用户在应用程序加载时看到启动画面。在此期间,您将在后台实例化重要表单。这种方法应该给你一些额外的时间,大多数用户不会认为这是“慢”。用户通常会接受如果应用程序之后合理快速地运行,则应用程序启动速度较慢。

答案 1 :(得分:1)

简单方法:

OtherFormClass NewForm = new OtherFormClass();
NewForm.Show();

如果您可以处理内存,则可以在后台创建表单并在需要时弹出。这应该给用户一个愉快,快速的体验。

可能还有其他一些优化措施可以缓解内存压力。

答案 2 :(得分:0)

如果您希望在用户响应能力方面更快地打开表单,您可以处理可能会考虑“预加载”表单的内存开销。在应用程序的启动过程中实例化表单,并将表单缓存在全局变量中(或使其成为单例并创建实例)。这会增加应用启动时间,但在您稍后显示表单时可以提高响应速度。如果表单有很多控件调用show,那么在启动时隐藏表单也会预先加载表单控件,从而进一步减少后续显示表单所需的时间。

这不是通常在完整的.net框架上推荐的!

答案 3 :(得分:0)

尝试缓存表单。杀手部分是表单的创建(窗口句柄的创建,例如InitializeComponent的运行)。如果您在应用程序启动时创建表单,那么在稍后显示表单时,您会注意到性能的小(但显着)。这显然是以启动时间为代价的。

所以在启动时:

Form1 form = new Form1();
FormStore.Add(form);

后来:

Form1 form = FormState.GetForm<Form1>();
form.Show();

那种事。