允许使用鼠标滚动但不显示浏览器滚动条?

问题描述 投票:2回答:1

我有一个带有Web浏览器的表单,我不想在Web浏览器中显示滚动条,但我希望允许用户使用鼠标滚轮向下滚动网站。

我该怎么做 ?

谢谢。

c# .net winforms
1个回答
4
投票

编辑

经过大量工作,我得到了解决方案!

我使用VB.net,然后将其转换为C#:

private void WebBrowser1_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser1.Document.Body.Style = "overflow:hidden";
    HtmlElement head = WebBrowser1.Document.GetElementsByTagName("head")[0];
    HtmlElement scriptEl = WebBrowser1.Document.CreateElement("script");
    scriptEl.SetAttribute("language", "javascript");
    scriptEl.InnerHtml = My.Resources.TextFile1;
    head.AppendChild(scriptEl);
}

现在,将此文本文件添加到您的资源(或任何地方)。

function handle(delta) {
        window.scrollBy(0,-delta*20)
}

function wheel(event){
        var delta = 0;
        if (!event)
                event = window.event;
        if (event.wheelDelta) {
                delta = event.wheelDelta/120;
        }
        if (delta)
                handle(delta);
        if (event.preventDefault)
                event.preventDefault();
    event.returnValue = false;
}

if (window.addEventListener)
    window.onmousewheel = document.onmousewheel = wheel;

现在,在它说scriptEl.innherHtml = My.Resources.TextFile1;的行上,只需输入第二个文件(javascript)。

window.scrollBy(0,-delta*20)行上,将20更改为您认为最能代表正常滚动的数字。 20对我来说很体面。

需要将C#代码放在WebBrowser对象的“DocumentComplete”事件中。

希望有所帮助!它对我有用:)

© www.soinside.com 2019 - 2024. All rights reserved.