管理Form状态的最佳方法是什么?

时间:2009-04-17 15:04:45

标签: c# winforms design-patterns controls state

我正在C#.NET 2.0应用程序中开发一个表单,其中包含有关表单上各种控件的状态(启用/禁用)的复杂逻辑。 (该设计是业务分析师对UI最佳实践理解不足的一种表现。)

管理表单“状态”的最佳方法是什么?通常,我见过ShowControls(state)或SetEnables(state)函数,其中state是可能配置的枚举(INITIAL,AFTER_SELECT,AFTER_COPY等)。我预测这将很快变得无法维持。

您使用什么方法来维持“状态”?您可以参与哪些模式来跟踪复杂的控制交互?

2 个答案:

答案 0 :(得分:3)

我最喜欢的模式是passive view。它从表单中删除所有州管理责任。最后,它使您的演示代码的维护变得更加容易,但是在附加代码方面有一些前期成本。

答案 1 :(得分:0)

你可能会考虑与商业分析师一起采取其他策略来诋毁他或让他进入你的营地,然后继续沿着一个黑洞发声。最好是在他身边赢得他,但这需要更多的耐心。这可能不是技术问题。

但是在技术讨论上......

由于您使用的是Web表单2.0,因此您可以使用“用户控件”使用“查看状态”封装表单状态。你应该使用自上而下的方法。假设您有5个控件来控制表单状态。在每个控件中,您有一个占位符,您可以根据控件的状态动态加载和移出内容。在动态加载的每个用户控件中你可以做俄罗斯娃娃效果(封装)并在那里放置更多疯狂的规则分析师随机拉出他的屁股。在这种情况下,封装和ViewState是你的朋友。只需确保在Page_Init事件上加载控件,因为它会使所有其他事件都很好地结合在一起。我很抱歉你使用网页表单和.net 2.0。非常抱歉。