回复 17楼 sam_jiang
那就在dodefault()后面再发个模拟enter键!
感觉上,大伙儿好像有些“钻牛角尖”了。
既然已经分析得非常清楚啦——
当VFP在处理文本框的键盘按键事件时,来不及立刻更新文本框的数据源。
那么,最简单的解决方法可能是:
让键盘按键事件正常结束,接着,让vfp按步就班地更新好数据源,最后,再取得这个VFP已更新好之后的最新数据。
那无非就加个TimerX控件,时间间隔设为500,初始化时,enabled = .F.
当KeyPress事件拦截到“回车键”之后,就设TimerX.enabled = .T.,然后,正常结束这个KeyPress事件代码过程。
(接下来,让VFP傻乎乎地、按步就班地、有条不紊地更新好数据源……)
这样又默默地经过了500毫秒。上帝保佑,但愿VFP已准备好了最新数据源。
在TimerX的Timer事件代码中,插入所需的处理代码,最后,设置Timer3.enabled = .F.