我是一名Web开发人员,拥有一些Windows窗体的基本经验。
我需要创建一个带有大量页面的单个表单的Windows应用程序 - 我需要能够多次更改表单中100%的内容(没有弹出窗口)。我希望主导航元素是左侧的一列按钮。这些按钮应该改变表格的其余部分。
从我所做的搜索来看,MDI似乎接近我想要的解决方案。
使用MDI的问题:我不希望文件编辑窗口 - 顶部。
最重要的部分:有一个庞大而复杂的控制面板,我希望在这个单一表格中的几个页面上显示。我想编写一次面板,但是在多个页面上显示它并从每个页面填充它。
有人能指出我的好模板或模式吗?我是否会使用MDI走错路?
答案 0 :(得分:1)
我认为MDI不是你想要的。 MDI实际上适用于需要同时显示多个窗口并进行排列的应用程序。我甚至不喜欢这些情况(我认为使用可停靠工具窗口的Visual Studio模型使用得更好)。
我会做以下事情:
使用TabControl
作为页面。这为您提供了免费的页面按钮,事件和可视指示器。
(如果您因任何原因不喜欢TabControl
,请为每个页面(或Panel
和hide the tabs)定义TabControl
。然后,使用按钮按下以隐藏/显示页面。)
将可重复使用的面板创建为UserControl
(请参阅Control vs UserControl in WinForms?)。然后,您可以在需要的地方添加UserControl
的实例,并相应地设置属性。您还应该查找对控件的每个实例执行的常见任务,并将这些任务的代码放在控件本身中。