我有一个Winform程序,其TabControl
上有两个TabPages
,每个WebBrowser
。
当我更改标签时,我正在尝试将焦点放在正确的浏览器上,因此我可以使用鼠标滚轮进行滚动。这是我用于此的代码:
Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
If TabControl1.SelectedTab Is TabPage1 Then
WebBrowser1.Focus()
ElseIf TabControl1.SelectedTab Is TabPage2 Then
WebBrowser2.Focus()
End If
End Sub
有时它会起作用,有时却不起作用。但这就是我观察到的。
键盘向上和向下箭头键始终正确滚动,即使鼠标滚轮没有 如果我进入另一个程序,我已打开(在Windows 7中),然后回到此表单,大多数时候鼠标滚轮将在此之后滚动。
为什么所有的片状行为?
答案 0 :(得分:1)
不确定为什么奇怪的行为,但我做了一个示例项目,并为Web浏览器控件设置了GotFocus和LostFocus的一些事件处理程序。当事件被触发时我输出一些调试文本并且它并不总是调用LostFocus事件,并且当发生这种情况时,滚动将不起作用。
尝试将焦点设置在Web Broswer文档上:
WebBrowser1.Document.Focus()