用VB编程时,如何能使在文本框中输入的数据,达到小数点后两位时自动,跳到下一个文本框!

Fly2000 2000-08-08 12:19:00
...全文
353 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
prefix 2000-08-09
  • 打赏
  • 举报
回复
打错了打错了,应该是
Private Sub Text1_Change()
If left(right(text1.text,3),1)="." then
SendKeys "{TAB}"
end if
如果用上面那个,在text1长度小于3时应该会出错。
prefix 2000-08-09
  • 打赏
  • 举报
回复
哦,是小数点后两位啊? 可以这样写:
Private Sub Text1_Change()
If mid(text1.text,len(text1.text),1)="." then
SendKeys "{TAB}"
end if
设置 Tabindex没有次序难道不能自己设置吗? 设置TabIndex是一定要的。谁能保证自己的软件从头到尾都能按顺序放置控件? 用Text2.SetFocus的话,如果你有100个Textbox那怎么办? 一个个写? 如果是我,我就不写了。
shines77 2000-08-08
  • 打赏
  • 举报
回复
Fly2000, 我觉得hyzx2000已经说得相当的详细了,你还问如何判断满足条件??
太对不起hyzx2000的劳动了吧。
prefix说得不太对,输入小数点就跳了?而且用SendKeys "{TAB}"也有个坏处,就是编辑控件的时候,TabIndex并不是有次序的,还是手动的Text2.SetFcous的好。
Fly2000你看不懂hyzx2000的吗?
prefix 2000-08-08
  • 打赏
  • 举报
回复
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(".") Then
SendKeys "{TAB}"
End If
该给分了……:)
Fly2000 2000-08-08
  • 打赏
  • 举报
回复
请问如何判断满足条件。
TopHead 2000-08-08
  • 打赏
  • 举报
回复
那在keypress中等输入数据满足条件是执行sendkeys不就行了嘛:)
hyzx2000 2000-08-08
  • 打赏
  • 举报
回复
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Dim ls_text As String
Dim li_pos As Integer
ls_text = Text1.Text
li_pos = InStr(ls_text, ".")
If Len(ls_text) - li_pos >= 2 And li_pos <> 0 Then
Text2.SetFocus
End If

End Sub

7,763

社区成员

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

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