如果输入后把输入日期删除再输入日期,光标移走时就不会出错!
可我在EditMask里输入日期后,再把日期全部删除,然后光标移走时就出错!
这要怎么解决呀?请各位高手指点!

解决方案 »

  1.   

    我的也是,不是不是日期
    出错信息是'invalid input value.Use escape key to abandon changes'
    大家请看看是怎么回事
      

  2.   

    因为校验无法通过,如果此时用ESC键取消删除的话,当然就OK了。但是,在删除后,该值为空,MaskEdit在将文本内容(实际此时为空)转为日期时出错!
    所以,在移走焦点前必须保证MaskEdit中有文本内容,且能正确转换为日期。
      

  3.   

    好办,在maskedit 的OnExit(失去光标)事件中,判断maskedit的内容是否为空,如果为空就给他赋上一个默认的值,例如 2004-1-1 1:1:1 ,这样就不会出错了。
    你试试吧
      

  4.   

    先谢谢楼上的!
    你的方法可以,但MaskEdit删除后就不能默认值,不然我的查找结果就有错误呀!
    还有没有别的方法呀!小弟急呀!谢谢各位了!
      

  5.   

    同意CHW。不设置默认值,行啊,判定为空后,提示用户,并且不允许将焦点移开
      

  6.   

    你一定要用maskedit吗?用datetiempicker不是更好?
    另外,你肯定是让用户在mask中输入日期,然后查询数据库,对吧?
    如果是这样的话,你可以在 执行查询前,先判断用户输入的日期格式是否合法,如果不合法,就提示用户日期不合法,不执行查询,让他重新输入不就行了。
      

  7.   

    to  chw_csdn_chw(chw)
    先谢谢了!
    那用edit输入,怎么写判断日期格式是否合法?
    还有可不可为maskedit设置的默认值隐藏起来,让用户看不见呀!