在 Ctrl + Shift + H 期间没有作出反应的代码被按下:
Private Sub HideMode(ByVal sendeer As System.Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
Select Case CInt(e.KeyCode)
Case Keys.ControlKey
If e.Shift AndAlso e.KeyValue = Convert.ToInt32(Convert.ToChar(Keys.H)) Then
MsgBox("Test hide function")
End If
End Select
End Sub
预期的结果是,按 Ctrl + Shift + H 后,msgbox
将显示文字&#34 ;测试隐藏功能"
这里的错误是什么?
答案 0 :(得分:5)
我没有理解为什么你尝试将KeyCode转换为整数,而使用Keys enum可以轻松完成同样的工作
Select Case e.KeyCode
Case Keys.H
If (e.Control AndAlso e.Shift) Then
MsgBox("Test hide function")
End If
End Select
编辑嗯,WebBrowser控件是一个不同的野兽。您需要为它添加一个特定的KeyDown处理程序(除了在Focus处于其他控件时处理KeyDown的另一个处理程序)
Private Sub Browser_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles WebBrowser1.PreviewKeyDown
Select Case e.KeyCode
Case Keys.H
If e.Shift AndAlso e.Control Then
MsgBox("Test hide function")
End If
End Select
End Sub