好久没来 VB 版了,请教一个文本框 ( textbox ) 控件效验的问题
该 textbox 名称为 txt0 , 激发两个事件:
txt0_Change()
txt0_Validate(Cancel As Boolean)
主要想实现如下功能:
当txt0中输入的字符数等于3时,则输入焦点跳到txt0后面的textbox控件txt1里,
并且在txt0失去焦点时对txt0输入的内容进行效验(比如3位字符必须是数字等等)。
我将效验放到 _Validate事件 中而在 _Change 中有如下内容:
Private Sub txt0_Change()
If Len(Me.txt0.Text) = 3 Then
Me.txt1.SetFocus
End If
End Sub
现在问题是 Me.txt1.SetFocus 执行后没有激活 txt0_Validate 事件,
请问该如何改写代码使其激活 _Validate 事件?
(强调 : 最好只用以上2个事件,而不用_LostFocus 之类的事件!)
[解决办法]
If Len(Me.Txt0.Text) = 3 Then
'Me.Txt1.SetFocus
SendKeys "{Tab} "
End If
[解决办法]
Private Sub txt0_Change()
If Len(Me.txt0.Text) = 3 Then
Call txt0_Validate(False)
Me.txt1.SetFocus
End If
End Sub