DevExpress DateEdit存储库编辑器日期验证

时间:2011-09-13 13:15:04

标签: winforms validation devexpress

如果用户要输入日期以及从下拉日历小部件中进行选择,哪里是捕获输入值的最佳事件,无论是键入还是选择,然后警告用户日期是否未通过某些验证,以及如果用户决定不覆盖警告,最后将编辑值回滚到原来的位置?

我们需要允许过去的日期,但希望过去预防意外日期,这通常发生在用户习惯打字后的新年头几个月,比如说,2011年为全年,然后当年度变为2012年时,他们就习惯了2011年。所以这个验证只会在今年的前几个月生效,而不是全年。

我看不到如何回滚 EditValueChanged 中的值。 args在那里没有取消选项。还有另一个更好的事件来处理类型值和拾取值吗?

2 个答案:

答案 0 :(得分:0)

使用EditValueChanging事件。它确实有Cancel个事件,以及NewValueOldValue

答案 1 :(得分:0)

我更喜欢使用Control的Validating事件,在这里我获得了CancelEventArgs,您可以使用它来设置值以及控件的焦点。 e.Cancel将把重点放在控制上。 例如:

if (txtName.Text == "")
{
     txtName.ErrorText = "Client Name should not be blank.";
     e.Cancel = true;
}