UI设计,包含众多情况

时间:2010-06-07 17:06:37

标签: c# .net winforms user-interface

我正在创建一个Web表单,其中有大约12-15个输入字段...

您可以查看屏幕here http://img9.imageshack.us/img9/2951/image001um.jpghere http://www.freeimagehosting.net/uploads/f9f4491598.jpg

请求是这样的,根据用户在Gridview和DropDown列表中选择的数据,需要显示相应的Textboxes和CheckBoxes。

有时条件非常直接,例如当DDL值为“ABC”时,只从用户那里获得付款金额。

有时它们如此复杂......如果DDL是“DEF”并且选择的GPMS值在1000-2000之间,则计算允许,付费等的值(使用某些公式)并且焦点应该指向Page No字段,其他字段打开,用户想编辑...大约有10-15个这样的条件。

由于这是通过敏捷完成的,所以条件被添加,当它感觉合适时(更改事件上的DDL,选择更改事件时的GridView等等)。完成后,现在我看到代码已经成为一个很大的困难,正在无法管理......

现在,我打算清除这一点......从您的经验来看,您认为最好的方法就是解决这个问题。将来有可能增加更多这样的条件......

如果您需要更多信息,请告诉我。我目前正在使用C#.Net WindowsForms

开发此应用程序

编辑:目前只有三个项目(数据网格,DDL,OverrideAmt CheckBox)改变了其他字段的行为......

几乎所有条件都会介于我提到的两种情况之间...... 大多数情况下,它们属于“启用/禁用”..“设置值”......和“更改焦点” 或这些的任何组合。

1 个答案:

答案 0 :(得分:0)

最小开销


编写包含所有评估逻辑的单一程序 即评估所有个别状态,并在程序中显示/隐藏适当的控制。

现在,只要有任何变更事件,就调用此程序 这需要您重新评估是否显示/隐藏任何控件。

不要在此过程外显示/隐藏任何控件。

将来可以轻松纳入任何其他验证检查 通过在此过程中添加其他检查。

改善此程序的表现:
[1]向过程添加参数(int / string) [2]从不同对象的不同事件调用时,在此参数中传递不同的值 [3]在程序中,根据参数的值,您可以确定触发此重新评估的对象(以及哪个事件)。

因此,您只能评估那些可能依赖于此特定对象中此特定更改的条件。这样,重新评估开销就减少到了最低限度。