vb 如何让text中光标停止输入10秒 则触发一个事件

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:15:04
如题
是先输入一段文字,当文字停止输入10后msgbox "您是不是累了"
小弟刚学VB不久,希望各位大侠给段代码
sub timer1_time
msgbox("你是不是累了?")
end sub
sub Textbox1_TextChanged
timer1.enabel=false
timer1.enable=true
end sub
您这样是在TEXT输入第一个字就开始计时
我问的是在TEXT输入多个字符后停止输入开始计时

添加一个 Timer,计时设置 10 秒。在 TextBox_TextChanged 事件中先屏蔽再激活 Timer,这样你不改文本 10 秒后就激发 Timer.Time 或 Tick 事件了

sub timer1_time
msgbox("你是不是累了?")
end sub
sub Textbox1_TextChanged
timer1.enabel=false
timer1.enable=true
end sub

那你就在TextBox_TextChanged 加上
if textbox1.textlenth >= *** then
timer1.enable=true

用一个 Timer 控件不就可以了吗?在 Timer 控件事件中让 text 属性改为不可写,然后到10秒后执行另一个事件

就是LOSSFOCOUS事件里开启定时,定时用TIMER控件,定时十秒,然后定时器触发事件里去做该触发的事件。

在文本框的change事件中,每次内容更改都把计数设为0,重新开始
文本框获取焦点则开始累计,失去焦点则停止累计
Public h As Long
Private Sub Text1_Change()
h = 0
End Sub

Private Sub Text1_GotFocus()
h=0
Timer1.Enabled = True
End Sub

Private Sub Text1_LostFocus()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
h = h + 1
Print h
If h >= 10 Then MsgBox "您是不是累了!"
End Sub

测试,可以达到你的要求