我使用Windows Forms构建了一个触摸屏应用程序。 它工作得很好,但我仍然希望得到一些设计建议。
我的应用程序包含几种不同的窗体。
我的设计是我有一个MainForm,所有其他形式都继承自。在这个Mainform中,我有一些按钮,用户可以在这些按钮中选择要打开的表单。 当用户选择其中一个选项时,将打开另一个表单。我使用以下代码:
Control control = this; // the current form, that is open
Recording rec = Recording.Instance; // the form that the user choose to open
if (control != rec) {
rec.Show(); // show the recording form
control.Hide(); // hide the previous form
}
这是使用表单的正确方法还是我应该使用其他方式?例如,在其中包含一个表单和用户控件。
答案 0 :(得分:2)
我注意到的一些事情:
Recording.Instance
。在我看来,就像你正在制作这些形式的单身人士。这可行,但我宁愿看到它们根据需要创建/关闭。rec.Show();
这是一个挑剔,但很多时候您想要将当前表单作为所有者传递:rec.Show(this);
或rec.Show(control);
。答案 1 :(得分:1)
此方法有效,但根据您的应用程序,您可能会遇到长期问题。
潜在关注的主要领域是做“control.Hide();”保持控件的实例在内存中,只要你对这种行为没问题,你就可以了。