范围check没通过时,取消输入
inptman for winform 8.0jgcDate控件:
设置min和max,以及MaxMinBehavior之后,每次输入都会进行范围验证及相信的行为。
我希望只在全部输入完成时(如焦点离开),做上述验证及行为。
有什么好方法吗?
顺便问一下,CanUndo什么条件下为true?
谢谢!! 问题我们收到了。
测试后给您反馈。 比如:min设置为2006/01/01,MaxMinBehavior为cancleInput,这时控件中只能输入到1990/01/0,最后一位无法输入。 那你就不用设置控件上的MinValue, 而是从FormDesigner上点开SmartTag,选择EditValidateItems...
添加一个InvalidRange的验证项,设置MinValue = 2006-01-01
再选择EditValidateActions...
添加一个ValueProcess的验证失败动作,然后可以选择当范围超界怎么办,比如可以选择Restore,将Value恢复成开始编辑之前的值。
如果还想控制Focus不动,可以选择FocusProcess,并将PreventFocusLeave设置为True
以上,看看是否满足你的式样需求。
================
关于CanUndo,针对GcDate控件,
控件刚接收到输入焦点时(收到Enter事件),将清除Undo状态,此时CanUndo肯定是false
然后一旦用户修改了点儿什么,CanUndo就是True,之后一直为True,即便是Undo操作过还是True. Leo 发表于 2016-3-16 18:50
那你就不用设置控件上的MinValue, 而是从FormDesigner上点开SmartTag,选择EditValidateItems...
添加一个 ...
非常感谢,尝试一下。 Leo 发表于 2016-3-16 18:50
那你就不用设置控件上的MinValue, 而是从FormDesigner上点开SmartTag,选择EditValidateItems...
添加一个 ...
OK了。
原来EditValidateItems和EditValidateActions要组合在一起使用,这样我就明白了。
谢谢!
第一次用InputMan,还有很多不知道的东西,以后多多请教。 yinzhm 发表于 2016-3-16 19:22
OK了。
原来EditValidateItems和EditValidateActions要组合在一起使用,这样我就明白了。
谢谢!
谢谢反馈。
欢迎交流经验。 不好意思,可以结帖了,谢谢!!! yinzhm 发表于 2016-3-31 10:26
不好意思,可以结帖了,谢谢!!!
谢谢反馈。
页:
[1]