0

我有一个 winforms 选项卡控件,它有几个选项卡页。在每个标签页控件(文本框、单选按钮等)中都被分组到组框中。这些组框是从上到下排列的,但在某些情况下,一些组框需要可见,而另一些则需要隐藏。每个组框内的控件有时(取决于场景)需要可见,有时需要隐藏。所以我想知道是否有人知道这样做的好方法,如果有的话,也许是某种模式。此外,最好实现一个通用的解决方案来做到这一点。任何 GUI 专家都可以指导我正确的方向吗?

使用 C# 和 dot NET Framework 4.0,WinForms。这是一个桌面应用程序,不是基于 Web 的。

4

2 回答 2

0

您可以在一个类中定义场景,然后添加另一个类,该类将通过读取场景并根据场景放置元素来管理布局。我没有提供详细信息,因为它取决于您想要的具体程度以及您想要实现的行为。最好将小部件放在用户控件中,并让该用户控件与布局管理器进行通信。您可以使用调解器模式或其变体在小部件之间进行协调。希望这可以帮助。

于 2013-01-15T22:32:41.163 回答
0

我通常尝试将相关控件分组到 UserControls 中(即使这意味着在某些控件上加倍)并根据需要将它们添加到表单中或从表单中删除它们。这方面的一个例子可能是支付方式——当用户选择特定的支付方式(信用卡、现金、支票等)时,带有正确元素的 UserControl 将显示在表单的面板中。

管理此类设置时使用的一个很好的模式是Model-View-Presenter,在示例中,所有 UserControl 都可能实现 IPaymentMethod 视图接口并提供更新相应模型的方法。

于 2013-01-16T02:15:47.323 回答