使用鼠标球切换打开/关闭WebBrowser / IE滚动

时间:2018-12-03 16:06:53

标签: internet-explorer scroll

我创建了一个演示Winforms应用程序,其中包含一个WebBrowser控件,我希望能够在该应用程序首次打开时使用鼠标滚珠进行滚动,而无需先单击WB。只要鼠标指针位于WB上,下面的代码就可以解决问题。但是,当我通过“重新加载”按钮重新加载WB时,无论鼠标指针的位置如何,直到单击WB时滚动才起作用。如果我再次重新加载,则无需单击即可再次滚动。每次重新加载时都以这种方式来回移动。如您在代码中看到的,我通过标签显示ActiveControl的名称以及计数器。它始终显示WB的名称。

我已经在另一台计算机上运行了该软件,根据需要,每次重新加载后都可以滚动。因此,在我的计算机上,关于WB(以及实现该功能的IE)一定存在某种情况,从而导致滚动滚动行为。有什么想法吗?

public partial class Form1 : Form
    {
    private int navCount = 0;
    private string htmlFile = @"D:\WB_Scroll.html";
    private string lblText = "Active Control ({0}) = {1}";

    public Form1()
        {
        InitializeComponent();

        wb.ScrollBarsEnabled = true;
        wb.Navigate(htmlFile);
        wb.Select();
        }

    private void btnReload_Click(object sender, EventArgs e)
        {
        wb.Navigate(htmlFile);
        wb.Select();
        lbl.Text = string.Format(lblText, ++navCount, this.ActiveControl.Name);
        }

    private void Form1_Activated(object sender, EventArgs e)
        {
        lbl.Text = string.Format(lblText, ++navCount, this.ActiveControl.Name);
        }
    }

0 个答案:

没有答案