以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  文本框输入问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=72677)

--  作者:zhangc2000
--  发布时间:2015/8/4 15:12:00
--  文本框输入问题
请问:假设在页面上有一个文本框和一个按钮,我希望在文本框中输入完内容后,焦点能够自动转到按钮上。采用什么代码和事件合适?
谢谢

--  作者:大红袍
--  发布时间:2015/8/4 15:37:00
--  

1、怎样才算是输入完毕?

 

2、你直接按下tab键,就会移动到下一个控件啊


--  作者:有点蓝
--  发布时间:2015/8/4 17:00:00
--  
如果Tab键移动不能满足需求,也可以编码指定
 在KeyDown事件中写
If e.KeyCode = Keys.Enter Then 
 e.Form.Controls("Button1").Select()
 e.Cancel = True
End If

--  作者:zhangc2000
--  发布时间:2015/8/5 22:08:00
--  
比如:我在文本框中利用键盘输入完数字“123”后,我想通过直接按回车键,进入按钮调用下一个程序(即:输入完文本框的数字后,使光标自动调到按钮上),而不想先按一下Tab,移动光标到按钮上再回车。想减少一个动作。不知行不行?
--  作者:大红袍
--  发布时间:2015/8/5 22:10:00
--  

3楼代码就是。


--  作者:zhangc2000
--  发布时间:2015/8/6 17:13:00
--  
三楼代码执行时,需要敲两次回车才行。能否实现在文本框输入时,焦点就移到按钮上,这样只要一次回车就可进入按钮程序。我原来看到过一个狐表设置密码的例子,好像是在输入密码时,焦点就自动移到按钮上。这样在输入完密码后直接按回车键就可进入程序。但我现在找不到原来那个设置密码的例子了。
--  作者:大红袍
--  发布时间:2015/8/6 17:17:00
--  
If e.KeyCode = Keys.Enter Then
    Dim btn As WinForm.Button =  e.Form.Controls("Button1")
    btn.Select
    btn.PerformClick
    e.Cancel = True
End If

--  作者:zhangc2000
--  发布时间:2015/8/7 15:13:00
--  
楼上的代码解决了我的问题,非常感谢各位的支持。