十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Dim key_state As Integer = 0
创新互联服务项目包括景谷网站建设、景谷网站制作、景谷网页制作以及景谷网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,景谷网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到景谷省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True '设置窗体响应键盘操作
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
'MsgBox(e.KeyCode) '这行开启可以测试你输入的按键代码
If key_state = 0 Then e.Handled = True '取消操作
Select Case e.KeyCode
Case 49 '按键1
'................操作脚本
Case 50 '按键2
'................操作脚本
End Select
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
e.Handled = True '取消操作
End Sub
'*******************************************************************************另一种方法
AddHandler Me.KeyDown, AddressOf Form1_KeyDown '需要时加入事件
RemoveHandler Me.KeyDown, AddressOf Form1_KeyDown '不需要时删除事件
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If sender Is Me Then MsgBox(e.KeyData.ToString vbCrLf sender.ToString)
End Sub
Private Sub Button1_KeyDown(sender As Object, e As KeyEventArgs) Handles Button1.KeyDown
If sender Is Me Then MsgBox(e.KeyData.ToString vbCrLf sender.ToString)
End Sub
这样就行了,第一个过程if语句结果为真,第二个过程if语句结果为假,你的所有问题都可通过if判断语句解决,msgbox代码只是做个测试,实际为你响应form键盘事件的代码。
拦截窗口程序消息可以解决
参考 VB王国荣API讲座 讲消息的那章
几个API就可以搞定