第1部分:应用场景
最近写程序遇到一个问题,
几个查询条件+一个按钮,
用户在选好(填好)查询条件后都需要点击按钮才能触发事件进行搜索,
我就想有没有办法此时可以按下“回车键”进行查询。
第2部分:解决方法
后面发现两种情况,
如果按钮是获得焦点的,
那么可以直接用下面的代码实现:
Private Sub Button1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown If e.KeyCode = Keys.Enter Then MsgBox("你按下了回车键!") End If End Sub
但是存在一个问题,
就是我们并不能保证这个按钮获得了焦点,
所以这边想到另外一个重载的方法:
Public Class Form1 Public Sub New() MyBase.New() MyBase.KeyPreview = True '在此加入下面这句话,使在窗口中任何的按键都只执行一个响应 InitializeComponent() End Sub Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs) Dim key As String = e.KeyChar If key = Microsoft.VisualBasic.ChrW(13) Then '若按下回车键 Button1.Focus() '把焦点附给button1 Button1.PerformClick() '执行Click命令 End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("你按下了回车键!") End Sub End Class
这样就能实现即使焦点是在添加条件的控件上,
单击回车键,也可以触发查询。
© 版权声明
THE END
暂无评论内容