我正在使用WPF WebBrowser组件来显示一些非常简单的HTML内容。但是,由于我事先并不知道内容大小,因此当我加载某些数据集时,我正在控制滚动条。
基本上,我如何强制(或以其他方式影响相当于强制)WebBrowser的大小扩展,以便显示所有内容而不需要滚动条?
答案 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"
此致
阿萨弗