2
希望这是一个有趣的问题:Winform控件默认值和验证
比方说,我已经设计了一个对话框使用的winform其中包含了一些控制。 (1)打开此对话框时,我想为所有控件设置默认值。但是,一个控件的值可能取决于另一个控件(或某些其他控件)的值。 (2)当用户改变了一个控件的值时,我想验证整个上下文中的新值。换句话说,我有很多规则说明什么样的组合值是可以接受的(如果控件A的值为1,控件B的值为2,那么控件C的值不能为3)
现在假设我可以保证我所定义的所有“规则”都不会在死循环中结束。
我的问题是:是否有任何已知的框架或普遍的做法来处理这个问题?我不希望它是特定于我创建的特定对话框。我希望它是一个这样的框架,我只是简单地定义“规则” - 规定哪些组合是无效的,规则是什么是控制的推断值 - 并且框架将在控制值变化时评估这些规则。
任何想法或评论表示欢迎:)
你能不能给我们什么样的规则你想要1个或2个例子将是很好 – MethodMan 2013-04-10 16:15:32
所有规则通常形式的想法:如果(controlA.Value是一些列表中&& controlB.Value是内一些其他列表),那么controlC不能有值xxx。具体来说,考虑这个例子:假设我们有对话框,用户可以从亚马逊,输入数量和价格中选择产品。我们还会在对话框中显示用户帐户的余额。结果是:如果product.SelectValue在折扣列表内,价格将是原始价格乘以0.8。 – Xinchao 2013-04-11 15:26:20
另一个规则可能是数量*价格必须小于账户余额 – Xinchao 2013-04-11 15:41:04