以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何在执行代码keys.Enter后执行按钮的代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11950)

--  作者:sunjgjd
--  发布时间:2011/8/17 21:44:00
--  [求助]如何在执行代码keys.Enter后执行按钮的代码?
有一个窗口,窗口中有一个Textbox控件和一个Button控件。请问,如何在TextBox控件中输入内容并按下回车键后直接运行Button控件中的代码?

原来FoxPRO中是这样的:
if keycode = 13
thisform.cmdok.click
endif


--  作者:狐狸爸爸
--  发布时间:2011/8/17 21:54:00
--  

设置Textbox的keydown事件代码为:

 

Dim btn As WinForm.Button = e.Form.Controls("Button1")
If e.KeyCode = Keys.Enter Then
  btn.PerformClick()
End If


--  作者:sunjgjd
--  发布时间:2011/8/17 22:18:00
--  
感谢!
我没有使用 btn 变量,直接用 e.Form.Controls("Button1") 了,所以 TAB 精灵没找到 Performclick,嘿嘿

--  作者:sunjgjd
--  发布时间:2011/8/18 9:39:00
--  
有个问题:
假如按钮的click事件的代码是:

dim c as string = e.form.controls("TextBox1").value
messagebox.show("" & c & "","提示",MessageBoxButtons.OK)

如按狐爸提供的方式和代码,那么在文本框中输入字符并按下回车键后,messagebox显示的信息是空的!即:按钮代码中的变量 c 没有得到文本框中按下回车键之前输入的值!
再假如不在文本框中按回车键,直接点按按钮的话,messagebox显示的是在文本框中按下回车键之前输入的字符!

--  作者:sunjgjd
--  发布时间:2011/8/18 10:03:00
--  
搞定了,哈
--  作者:fivetable
--  发布时间:2018/8/21 19:36:00
--  
狐爸真坏,实用的代码都隐藏起来,有这代码,多方便啊,如果按钮60多行的代码,只要这几行就搞定。
--  作者:有点蓝
--  发布时间:2018/8/21 20:32:00
--  
帮助都有的哦