好久没来 VB 版了,请教一个文本框 ( textbox ) 控件效验的问题

大熊猫侯佩
优质创作者: 操作系统技术领域
领域专家: 移动开发技术领域
2007-09-26 10:58:23
该 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 之类的事件!)
...全文
106 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2007-10-08
  • 打赏
  • 举报
回复
TNND,刚才 CSDN 报超时,结果还是重复回复了。
Tiger_Zhao 2007-10-08
  • 打赏
  • 举报
回复
将校验规则全部移到 Validate 事件中比较合理。
Tiger_Zhao 2007-10-08
  • 打赏
  • 举报
回复
将校验规则全部移到 Validate 事件中比较合理。
Tiger_Zhao 2007-10-08
  • 打赏
  • 举报
回复
将校验规则全部移到 Validate 事件中比较合理。
Tiger_Zhao 2007-10-08
  • 打赏
  • 举报
回复
将校验规则全部移到 Validate 事件中比较合理。
大熊猫侯佩 2007-09-26
  • 打赏
  • 举报
回复
to scmail81(夕阳の纸飞机)
你的方法可行,谢谢

to chewinggum(口香糖·第二次减肥计划执行中)
你的方法不能阻止输入焦点移到txt1中,但还是谢谢,我也想过这个方法,呵呵。
脆皮大雪糕 2007-09-26
  • 打赏
  • 举报
回复
Private Sub txt0_Change()
If Len(Me.txt0.Text) = 3 Then
Call txt0_Validate(False)
Me.txt1.SetFocus
End If
End Sub
$扫地僧$ 2007-09-26
  • 打赏
  • 举报
回复
If Len(Me.Txt0.Text) = 3 Then
'Me.Txt1.SetFocus
SendKeys "{Tab}"
End If
大熊猫侯佩 2007-09-26
  • 打赏
  • 举报
回复
好久没有用 vb 了 ,希望各位给与提示 (解决后立即结贴)

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧