Windows表单设计建议

时间:2011-02-17 21:04:41

标签: c# winforms

我使用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
}

这是使用表单的正确方法还是我应该使用其他方式?例如,在其中包含一个表单和用户控件。

2 个答案:

答案 0 :(得分:2)

我注意到的一些事情:

  1. Recording.Instance。在我看来,就像你正在制作这些形式的单身人士。这可行,但我宁愿看到它们根据需要创建/关闭。
  2. rec.Show();这是一个挑剔,但很多时候您想要将当前表单作为所有者传递:rec.Show(this);rec.Show(control);
  3. 继承基本表单很好。为了使其更好地工作,还要将每个表单构建为自定义控件,这样您的表单之间的唯一区别就是您添加了哪个自定义控件。您还可以为每个自定义控件使用界面或公共基本控件,以进一步控制并在应用程序中强制实现统一的外观。

答案 1 :(得分:1)

此方法有效,但根据您的应用程序,您可能会遇到长期问题。

潜在关注的主要领域是做“control.Hide();”保持控件的实例在内存中,只要你对这种行为没问题,你就可以了。