使用WPF WebBrowser显示内容来阻止滚动条

时间:2009-12-16 00:53:29

标签: c# wpf webbrowser-control scrollbar

我正在使用WPF WebBrowser组件来显示一些非常简单的HTML内容。但是,由于我事先并不知道内容大小,因此当我加载某些数据集时,我正在控制滚动条。

基本上,我如何强制(或以其他方式影响相当于强制)WebBrowser的大小扩展,以便显示所有内容而不需要滚动条?

2 个答案:

答案 0 :(得分: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;
}

希望这有帮助,尊重

答案 1 :(得分:6)

以前的解决方案存在的问题是它会更改控件大小,并且由于浏览器控件无法被剪切并始终位于其他WPF元素之上,因此它可能会覆盖其他元素。

这是我的解决方案:

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

此致

阿萨弗