几种Windows窗体中的常见元素 - 写入一次

时间:2014-03-06 20:23:55

标签: c# winforms panel mdi

我是一名Web开发人员,拥有一些Windows窗体的基本经验。

我需要创建一个带有大量页面的单个表单的Windows应用程序 - 我需要能够多次更改表单中100%的内容(没有弹出窗口)。我希望主导航元素是左侧的一列按钮。这些按钮应该改变表格的其余部分。

从我所做的搜索来看,MDI似乎接近我想要的解决方案。

使用MDI的问题:我不希望文件编辑窗口 - 顶部。

最重要的部分:有一个庞大而复杂的控制面板,我希望在这个单一表格中的几个页面上显示。我想编写一次面板,但是在多个页面上显示它并从每个页面填充它。

有人能指出我的好模板或模式吗?我是否会使用MDI走错路?

1 个答案:

答案 0 :(得分:1)

我认为MDI不是你想要的。 MDI实际上适用于需要同时显示多个窗口并进行排列的应用程序。我甚至不喜欢这些情况(我认为使用可停靠工具窗口的Visual Studio模型使用得更好)。

我会做以下事情:

  • 使用TabControl作为页面。这为您提供了免费的页面按钮,事件和可视指示器。

    (如果您因任何原因不喜欢TabControl,请为每个页面(或Panelhide the tabs)定义TabControl。然后,使用按钮按下以隐藏/显示页面。)

  • 将可重复使用的面板创建为UserControl(请参阅Control vs UserControl in WinForms?)。然后,您可以在需要的地方添加UserControl的实例,并相应地设置属性。您还应该查找对控件的每个实例执行的常见任务,并将这些任务的代码放在控件本身中。