C#多面板/图层winform应用程序

时间:2011-09-01 00:20:28

标签: c# layer panels

我一直在设计一个非常复杂的航空电子应用程序。问题是,它有许多菜单按钮被点击(确切地说是12个),并且每个菜单按钮都执行不同的操作。例如,一个可以是登录面板,另一个可以是PDF阅读器。我怎么能以编程方式组织这个?

目前,我一直在设置面板中的每个项目,并根据活动或点击的项目将其设置为可见或不可见。

你们会怎么做? 提前谢谢!

2 个答案:

答案 0 :(得分:2)

您可能会考虑使用FlowLayoutPanel,但我不确定它在满足您的要求方面有多么灵活。如果您使用对接属性设置面板,则应该能够进行管理。

我还建议使用UserControl来分隔代码和功能。如果面板需要通信,则实现观察者/可观察模式,而不是订阅用户控件之间的事件。

答案 1 :(得分:0)

就像IAbstract所说,你应该考虑将不同的UI元素分离为UserControls。然后,您可以执行诸如使用工厂构建它们并根据需要将它们添加到窗口中的操作。

我发现这种方法与Model-View-Presenter类型模式一起使用,对于具有动态用户界面的WinForms应用程序非常有效。