无法保持鼠标滚轮滚动的焦点

时间:2013-07-01 02:53:15

标签: .net winforms scroll mouse

我有一个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中),然后回到此表单,大多数时候鼠标滚轮将在此之后滚动。

为什么所有的片状行为?

1 个答案:

答案 0 :(得分:1)

不确定为什么奇怪的行为,但我做了一个示例项目,并为Web浏览器控件设置了GotFocus和LostFocus的一些事件处理程序。当事件被触发时我输出一些调试文本并且它并不总是调用LostFocus事件,并且当发生这种情况时,滚动将不起作用。

尝试将焦点设置在Web Broswer文档上:

WebBrowser1.Document.Focus()