我有一个带有Web浏览器的表单,我不想在Web浏览器中显示滚动条,但我希望允许用户使用鼠标滚轮向下滚动网站。
我该怎么做?
感谢。
答案 0 :(得分: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'事件中。
希望有所帮助!它对我有用:)