C# 什么时候应该填充winform应用程序中的第二个表单?

C# 什么时候应该填充winform应用程序中的第二个表单?,c#,winforms,forms,multiple-forms,C#,Winforms,Forms,Multiple Forms,我正在用C创建一个windows窗体应用程序,我有两个窗体。用户将使用图形的主窗体和另一个窗体,其中包含:系列外观选项、轴选项、标签选项等。。。 按下“工具”按钮时会显示此窗体。从那里我打算让用户修改他们的图表,因为他们希望。我的问题是— 在第一个表单加载或初始化时填充第二个表单是否更快/更好,或者在按下工具按钮时是否应该这样做 这个问题是关于快速加载数据和在必要时延迟加载数据之间的区别。我认为这里的决定应该归结于用户体验。如果加载数据需要一段时间,并且您的用户将经常访问“属性”窗口,那么我建议

我正在用C创建一个windows窗体应用程序,我有两个窗体。用户将使用图形的主窗体和另一个窗体,其中包含:系列外观选项、轴选项、标签选项等。。。 按下“工具”按钮时会显示此窗体。从那里我打算让用户修改他们的图表,因为他们希望。我的问题是—
在第一个表单加载或初始化时填充第二个表单是否更快/更好,或者在按下工具按钮时是否应该这样做

这个问题是关于快速加载数据和在必要时延迟加载数据之间的区别。我认为这里的决定应该归结于用户体验。如果加载数据需要一段时间,并且您的用户将经常访问“属性”窗口,那么我建议立即加载。另一方面,如果加载速度很快,或者这是一个很少出现的特性,那么我建议延迟加载。因此,您需要了解用户的期望。但是,如果屏幕上的数据加载很快,那么在什么时候加载就无关紧要了


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

这个问题是关于尽快加载数据和在必要时延迟加载数据之间的区别。我认为这里的决定应该归结于用户体验。如果加载数据需要一段时间,并且您的用户将经常访问“属性”窗口,那么我建议立即加载。另一方面,如果加载速度很快,或者这是一个很少出现的特性,那么我建议延迟加载。因此,您需要了解用户的期望。但是,如果屏幕上的数据加载很快,那么在什么时候加载就无关紧要了


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

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


但是,如果您的表单可以快速加载,那么从用户的角度来看,这并不重要,只要在单击按钮之前隐藏第二个表单。

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

// button event in your first form (Form1)
private void firstButton_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog(); // Shows Form2
}
但是,如果您的表单可以快速加载,那么从用户的角度来看,这并不重要,只要在单击按钮之前隐藏第二个表单即可

// button event in your first form (Form1)
private void firstButton_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog(); // Shows Form2
}
应该使用,因为您可能根本不需要该按钮


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

在启动时创建多个表单的可伸缩性不强。当你有20-30张表格时,需要很长时间才能加载!在需要时创建它们。

在启动时创建多个表单的可伸缩性不强。当你有20-30张表格时,需要很长时间才能加载!在需要时创建它们。

这根本不能回答问题。OP不是询问如何打开一个新表单。这根本不能回答问题。OP并不是询问如何打开一个新表单。虽然我同意这种情况,但我认为这一切都归结于特定的需求实例。OP说有一种形式,应该是双向的。虽然我同意这种情况,但我认为这一切都归结于特定的情况
需要的实例。OP说有一种形式,应该是双向的。哇,谢谢你回答我的问题。真的超出了我的要求,而且非常有帮助。哇,谢谢你回答我的问题。真的超出了我的要求,而且非常有帮助。