前言
之前使用VB语言编程时,可以设置button控件的default 属性,点击键盘的Enter、Esc可以激发button的click事件。同样的运用到vb.net语言编程中,是否有同样的效果呢?
寻找属性键
VB中button控件的default 设为TRUE,即有enter键激发控件click事件的效果;
在vb.net中不同的地方在于,不是设置button的属性,而是设置窗体的属性AcceptButton,属性值为button的Name值。
使用代码实现
VB语言中实现键盘激活button 的click事件的代码如下:
Private Sub Form_KeyPress(KeyAscii As Integer)'在form上敲回车触发事件
If KeyAscii = 13 Then'如果按下的是回车键,注意回车Asc码是13
Call Command1_Click'那么执行command1点击事件
End If
End Sub
vb.net中的实现代码如下:
'设置键盘键,保证按住enter、esc,可以激发登录、退出控件
Private Sub LoginUI_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Enter Then
btnLogin.PerformClick() '触发button控件的Click事件
End If
If e.KeyCode = Keys.Escape Then
'btnExit.PerformClick()
Call btnExit_Click(sender,e) '第二种实现方法
End If
End Sub
比较总结:
两者使用的前提,都是需要将窗体的属性KeyPreview的值设为TRUE;
都调用了button的click事件,使用Call方法时有是否调用参数的区别:
Call Command1_Click
Call btnExit_Click(sender,e)
小结
从不同的角度,联想每一个小功能可以帮助我们找到更多方法,接触之前没有留意到的知识点。