2009-12-16 64 views
10

我正在使用WPF WebBrowser組件顯示一些非常簡單的HTML內容。但是,由於我不知道內容大小,因此當我加載某些數據集時,我正在控制滾動條。阻止使用WPF WebBrowser顯示內容的滾動條

基本上,我該如何強制(或以其他方式影響等同於強制)WebBrowser的大小擴大,以便所有內容都顯示出來而不需要滾動條?

回答

7

我想你可以通過它的Document屬性獲得webbrowser組件內容的寬度和高度,該屬性應該是mshtml.HTMLDocument類型。我相信你應該能夠使用body或documentElement屬性來獲得所需的大小;水木清華這樣的:

mshtml.HTMLDocument htmlDoc = webBrowser.Document as mshtml.HTMLDocument; 
if (htmlDoc != null && htmlDoc.body != null) 
{ 
    mshtml.IHTMLElement2 body = (mshtml.IHTMLElement2)htmlDoc.body; 
    webBrowser.Width = body.scrollWidth; 
    webBrowser.Height = body.scrollHeight; 
} 

希望這會有所幫助,至於

+0

+1。聽起來不錯:) – Anvaka 2009-12-16 06:25:09

+0

不幸的是WebBrowser.Document似乎永遠不會被設置。這可能是我加載頁面的一個副作用,我不確定。 – 2009-12-16 07:36:35

+0

你可以發佈一些你如何加載你的網頁的代碼。 thnx – 2009-12-16 13:28:59

6

與以前的解決方案的問題在於,它改變了控制規模和因爲瀏覽器控件不能被裁減掉,總是在其他WPF元素的上面,它可能會涵蓋其他元素。

這裏是我的解決方案:

Dim body = CType(WebBrowserControl.Document, mshtml.HTMLDocumentClass) 
body.documentElement.style.overflow = "hidden" 

問候,

阿薩夫

+0

它不適合我; – 2013-01-30 15:11:56