应该何时填充winform应用程序中的第二个表单?

时间:2013-02-25 16:07:14

标签: c# winforms forms multiple-forms

我在C#中创建一个Windows窗体应用程序,我有两种形式。用户将使用图表的主要表单和包含以下内容的另一个表单:系列外观选项,轴选项,标签选项等... 按下“工具”按钮时会出现此表单。从那里我打算让用户按照自己的意愿修改他们的图表。我的问题是 - 在第一个表单加载或初始化时填充第二个表单是更快/更好,还是在按下“工具”按钮时才这样做。

4 个答案:

答案 0 :(得分:4)

这个问题是关于预先加载(尽快加载数据)和延迟加载(必要时加载数据)之间的区别。我认为这里的决定应归结为用户体验。如果数据需要一段时间加载,并且您的用户将经常访问属性窗口,那么我建议加载。另一方面,如果加载很快或这是一个很少见的功能,那么我会建议延迟加载。因此,您需要弄清楚用户期望的内容。但是,如果屏幕上的数据加载速度很快,那么你加载的内容几乎不重要。

我还建议你重新考虑你的属性窗口,特别是如果要经常使用它。这种用户界面的范例是将PropertyGrid嵌入到完成大部分工作的同一个应用程序窗口中。想想Visual Studio中的许多例子以及任何IDE风格的应用程序。它们往往没有“浮动”属性窗口。范例是您显示IDE中当前选择的任何对象的属性,以便快速轻松地进行修改。单独的工具|选项范例更适用于应用程序级别的设置,这些设置的修改频率低得多,并且与应用程序管理的特定对象相关联。再一次,Visual Studio就是一个很好的例子。

答案 1 :(得分:2)

在我看来,当你点击相应的按钮时,最好创建第二个表单的新实例。我认为你应该只在需要时为表单分配内存。

但是,如果您的表单快速加载,从用户的角度来看,只要您在单击按钮之前隐藏第二个表单就无所谓了。

答案 2 :(得分:0)

在启动时创建多个表单的可扩展性不是很高。当你有20-30个表格时,加载需要很长时间!在需要时创建它们。

答案 3 :(得分:-1)

// button event in your first form (Form1)
private void firstButton_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog(); // Shows Form2
}

应该使用,因为你可能根本不需要按钮。