鼠标悬停在web浏览器控件上时自动滚动(不是焦点)

时间:2014-05-28 02:26:14

标签: c# .net winforms

我创建c#winform应用程序包含2个控件:webbrowser和listbox(如下图所示)。

如何使用鼠标滚轮事件将鼠标悬停在控件上时自动滚动(无需点击此控件即可自动滚动浏览器(或将焦点设置为此控件,因为我想在鼠标仍然专注于文本框时滚动webbrowser)

1 个答案:

答案 0 :(得分:0)

一种方法是在鼠标进入控件时将焦点设置为控件:

private void Control_MouseEnter(object sender, System.EventArgs e)
{
    var ctrl = sender as Control;
    if (ctrl == null) { return; }

    ctrl.Focus();
}

还有其他更复杂的解决方案,例如在Form捕获鼠标事件,然后在相应控件上发出滚动,如果鼠标位于它们之上,但这需要点转换和更多代码来处理滚动方法。这样做意味着滚轮将自行处理。