2011-10-03 66 views
2

我有一個Web瀏覽器窗體,我不想在Web瀏覽器中顯示滾動條,但我想讓用戶使用鼠標滾輪向下滾動網站。允許使用鼠標滾動,但不顯示瀏覽器滾動條?

我該怎麼辦?

謝謝。

+0

記得標記一個問題作爲答案,如果它解決了你的問題。如果沒有問題幫助你。發佈你目前的問題。 – FreeSnow

+1

@DadeLamkins Marked,直到現在我都無法測試,所以我不知道它是否可以。 – dysoco

+0

它工作?我知道它是在我測試過的時候做的,它是否適用於您的目的? – FreeSnow

回答

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'事件中。

希望有幫助!它對我有用:)

+2

即禁用鼠標滾輪:) –

+0

@HansPassant這就是問題;) – dysoco

+0

@HansPassant感謝提到這一點。我甚至沒有麻煩測試。很好的接收。我已經用一個可行的解決方案更新了它... – FreeSnow

相關問題