从Form1打开Form2的快速有效方法是什么?
我在WinCE(有限的内存和CPU能力)工作,所以这一点很重要。
答案 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();
那种事。