注册 登录
编程论坛 VFP论坛

想控制text内数据的范围,为什么写在interactivechange里没有用呢

missbrat 发布于 2008-09-13 09:08, 1459 次点击
我想控制文本框数值的范围在1到25之间
文本框是字符型
if val(alltrim(this.value))>25 or val(alltrim(this.value))<1
   messagebox("请输入正确的数值")
   this.value=""
endif
可是把这条语句写在interactivechange里没有用,为什么呢
6 回复
#2
wzxc2008-09-13 10:39
肯定 没用
Valid 事件
在控件失去焦点之前发生。


if val(alltrim(this.value))>25 or val(alltrim(this.value))<1
   messagebox("请输入正确的数值")
   this.value=""
   return 0
endif
#3
szy3452008-09-13 11:55
怎么会没用的呢
#4
qjbzjp2008-09-13 12:21
应该有用啊!
不过加到interactivechange中,.this.vale一改变(也就是每键入一个字符),就会执行一次。
应该放到valid事件中,敲回车时会检查。
再加一句retu 0,输入不正确时,就不能退出。
if val(alltrim(this.value))>25 or val(alltrim(this.value))<1
   messagebox("请输入正确的数值")
   this.value=""
   RETURN 0
endif
#5
wzxc2008-09-13 12:55
经测试,同意楼上意见。
这招不错!

[[it] 本帖最后由 wzxc 于 2008-9-13 12:59 编辑 [/it]]
#6
ibmlang_0022008-09-13 13:29
学习

[[it] 本帖最后由 ibmlang_002 于 2008-9-13 18:31 编辑 [/it]]
#7
hsfisher前天 10:43
1