如何通过回车键来自动切换控件的焦点?

tuyiwenya 2006-11-01 04:23:26
我在窗口当中放置了几个控件,有两个文本框,两个按钮,想设计一个这样的效果:
当输入完第一个文本框后,单击回车键后,会自动跳到第二文本框。请问如何实现?
...全文
200 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
清晨曦月 2007-01-19
  • 打赏
  • 举报
回复
严重顶2楼和7楼.
SoftwKLC 2007-01-19
  • 打赏
  • 举报
回复
public sub tabToenter(key As Integer)
If key = 13 Then SendKeys "{TAB}"
End Sub
然后在text_keydown事件里调用tabtoenter 就可以了
wxrwan 2007-01-19
  • 打赏
  • 举报
回复
这样简单的问题建议要先搜索一下。或者看一下FAQ
fj182 2007-01-19
  • 打赏
  • 举报
回复
text2.setfocus
这样做是不太科学的,SetFocus方法跟控件的Enabled属性有关系,如果Enabled=False时调用SetFocus的话将引起一个错误。

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
SendKeys "{TAB}"
End If
End Sub

这个方法的话增长的代码的长度,而且使用面窄,有没有好点的解决办法啊?

解决方法是自己做一个控件来扩充文本框控件,最好能够提供如:得到焦点自动选中文本、按下回车键切换焦点、去掉文本框的编辑菜单等常用功能。
chendi0301 2007-01-19
  • 打赏
  • 举报
回复
你这里只有四个控件而已,假如我有一百多个控件,使用
private sub text1_keypress(keyascii as integer)
if keyascii=13 then text2.setfocus
end if
这个方法的话增长的代码的长度,而且使用面窄,有没有好点的解决办法啊?

请高手留言!
KIMURAHONGBIN 2007-01-19
  • 打赏
  • 举报
回复
Private Sub Command1_Click(index As Integer)
SendKeys "{TAB}"
End Sub
展翅飞2012 2007-01-19
  • 打赏
  • 举报
回复
首先设置各个控件的tab顺序

然后在窗口上放一个按钮,
visible=false
default=true

在这个按钮的click事件中
Private Sub cmd_Click()
SendKeys "{TAB}"
End Sub
tuyiwenya 2006-11-01
  • 打赏
  • 举报
回复
不用了,我做出来了!!!
happy_sea 2006-11-01
  • 打赏
  • 举报
回复
private sub text1_keypress(keyascii as integer)
if keyascii=13 then text2.setfocus
end if
tuyiwenya 2006-11-01
  • 打赏
  • 举报
回复
????

7,763

社区成员

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

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