我创建了一个小工具,可以依次加载三个网页。我使用 3 个按钮在 VB 表单中前后移动相应的浏览器。
我创建了 3 个用于前进、后退和刷新的按钮,并且能够使用一些 if/elseif/else 逻辑使它们仅与前面的浏览器交互。我想在按钮上添加键盘快捷键,以便我可以使用 CTRL+R 刷新前端浏览器...有人可以指导我如何执行此操作吗?
这里是表单代码: 公开课表格1 前面变暗为字符串
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
WebBrowser1.BringToFront()
Front = "WebBrowser1"
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
WebBrowser2.BringToFront()
Front = "WebBrowser2"
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
WebBrowser3.BringToFront()
Front = "WebBrowser3"
End Sub
Private Sub BackBtn_Click(sender As Object, e As EventArgs) Handles BackBtn.Click
If Front = "WebBrowser1" Then
WebBrowser1.GoBack()
ElseIf Front = "WebBrowser2" Then
WebBrowser2.GoBack()
ElseIf Front = "WebBrowser3" Then
WebBrowser3.GoBack()
End If
End Sub
Private Sub ForwardBtn_Click(sender As Object, e As EventArgs) Handles ForwardBtn.Click
If Front = "WebBrowser1" Then
WebBrowser1.GoForward()
ElseIf Front = "WebBrowser2" Then
WebBrowser2.GoForward()
ElseIf Front = "WebBrowser3" Then
WebBrowser3.GoForward()
End If
End Sub
Private Sub RefreshBtn_Click(sender As Object, e As EventArgs) Handles RefreshBtn.Click
If Front = "WebBrowser1" Then
WebBrowser1.Refresh()
ElseIf Front = "WebBrowser2" Then
WebBrowser2.Refresh()
ElseIf Front = "WebBrowser3" Then
WebBrowser3.Refresh()
End If
End Sub
End Class
最佳答案
处理此类组合的最佳方法是覆盖 ProcessCmdKey ,组合键随时都会被捕获。
示例:
将下面的覆盖函数粘贴到您的表单中。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
If ((keyData And Keys.R) = Keys.R) And ((keyData And Keys.Control) = Keys.Control) Then
MessageBox.Show("CTRL+R pressed")
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
End Class
注意:人们可能会想使用 Control.ModifierKeys捕获 CTRL 但它不起作用,正确的方法是使用上面的 bitwise And operator针对keyData
。
关于winforms - VB Web 浏览器键盘命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23525944/