读书人

好久没来 VB 版了请问一个文本框 (

发布时间: 2012-03-28 15:40:03 作者: rapoo

好久没来 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

读书人网 >VB

热点推荐