主题:简单问题,加分,加分。
yanxinggaotian
[专家分:1140] 发布于 2008-01-17 13:03:00
我想判断一个text文本框在10s内有没有变化,要最简单的办法。
回复列表 (共10个回复)
沙发
圣域无敌 [专家分:60] 发布于 2008-01-17 13:08:00
用TIMER控件计时
其他没想到!
板凳
老大徒伤悲 [专家分:29120] 发布于 2008-01-17 13:23:00
同意上面的观点。
在考察10s开始时,设置计时器为可用。
在计时器事件里,设置计时器不可用。
在文本框变化事件里检测计时器是否可用。
3 楼
yanxinggaotian [专家分:1140] 发布于 2008-01-17 13:48:00
Private Sub Text1_Change()
Timer1.Enabled = False
Timer1.Enabled = True
Label1.Caption = "change"
End Sub
Private Sub Timer1_Timer()
Label1.Caption = "no change"
End Sub
4 楼
老大徒伤悲 [专家分:29120] 发布于 2008-01-17 14:02:00
这样似乎不行。
不论多少秒,只要文本框发生变化,标签就会显示“变化了!”
你告诉我,10秒时从什么时间起算?
我给你修改代码。
5 楼
yanxinggaotian [专家分:1140] 发布于 2008-01-17 14:13:00
文本框当前变化完毕就开始记时。哦,那个没太大关系,我主要关心文本框不变化时给出个警告。
6 楼
yanxinggaotian [专家分:1140] 发布于 2008-01-17 14:21:00
呵呵,老大快要达到20000分啊,提前祝贺。
以前vb写过些东西,不过全是网上搜或者自己琢磨,本来很简单的东西,很好实现的过程,自己也另辟它途,很绕弯。现在网络,论坛很方便,所以有时候小问题也拿出来请教大家,再次感谢各位的帮助。
7 楼
老大徒伤悲 [专家分:29120] 发布于 2008-01-17 14:21:00
明白了,你的意思就是:任何时候,连续10秒不操作文本框,就提示?
9 楼
老大徒伤悲 [专家分:29120] 发布于 2008-01-17 14:41:00
Private Sub Form_Load()
Text1 = ""
Label1 = ""
Timer1.Interval = 100
End Sub
Private Sub Text1_Change()
Timer1.Enabled = True
If Now() - 前次操作时间 < 1 / 8640 Then Label1 = "文本框自" & 前次操作时间 & "操作后,在10秒内被操作过!"
前次操作时间 = Now()
End Sub
Private Sub Timer1_Timer()
If Now() - 前次操作时间 > 1 / 8640 Then
Timer1.Enabled = False
Label1 = "文本框自" & 前次操作时间 & "后,操作间断超过10秒。"
End If
End Sub
这样提示信息丰富了些,但代码多了几行
10 楼
老大徒伤悲 [专家分:29120] 发布于 2008-01-17 14:58:00
最前面忘记了一行:
dim 前次操作时间 as date
我来回复