【问题标题】:C# Multi-panel/layer winform applicationC#多面板/层winform应用程序
【发布时间】:2011-09-01 00:20:27
【问题描述】:

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

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

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

【问题讨论】:

  • 添加一个 Dock.Top ToolStrip 怎么样?

标签: c# layer panels


【解决方案1】:

您可以考虑使用FlowLayoutPanel,尽管我不确定它在满足您的要求方面会有多灵活。如果您使用停靠属性设置面板,您应该能够管理。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 你有更多相关信息吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多