我有一个winforms选项卡控件,它有几个标签页。在每个标签页中,控件(文本框,单选按钮等)被分组到组框中。这些组框从上到下排列,但在某些情况下,某些组框需要可见,其他组则需要隐藏。有时(取决于场景),每个组框内的控制也需要是可见的,有时是隐藏的。所以我想知道是否有人知道这样做的好方法,也许某种模式(如果有的话)。此外,实现通用解决方案也是一件好事。 GUI的任何专家都可以指导我做正确的方向吗?
使用C#和dot .NET Framework 4.0,WinForms。这是一个桌面应用程序,而不是基于Web的。
答案 0 :(得分:0)
您可以在类中定义方案,然后添加另一个将通过阅读方案并根据方案布置元素来管理布局的类。我没有提供详细信息,因为它取决于您希望的具体程度以及您希望实现的行为。最好将Widgets放在用户控件中,并让该用户控件与布局管理器进行通信。您可以使用Mediator模式或其变体来在窗口小部件之间进行协调。希望这会有所帮助。
答案 1 :(得分:0)
我通常尝试将相关控件分组到UserControls中(即使这意味着将某些控件加倍)并根据需要将它们添加到表单中或从表单中删除它们。这方面的一个例子可能是付款方式 - 当用户选择特定的付款方式(信用卡,现金,支票等)时,带有正确元素的UserControl将显示在表单上的面板中。
管理此类设置时使用的一个好模式是Model-View-Presenter,在该示例中,所有UserControl都可能实现IPaymentMethod视图接口并提供更新相应模型的方法。