有没有办法检测WebBrowser控件中的内容高度/宽度?我想将内容保存到图像中,但只保留实际内容的大小。
提前谢谢。
答案 0 :(得分:4)
我相信你可以从以下属性中获取它:
myWebBrowser.Document.ScrollRectangle.Size;
成为System.Drawing.Size
对象。
答案 1 :(得分:1)
您可以使用黄金分割搜索来查找足够大的最小窗口大小以包含文档,但这是一项CPU密集型任务。
答案 2 :(得分:0)
循环元素选择最大高度/宽度。我在 documentCompleted 事件之后使用了这个
//fit to content -get size **after documentCompleted**
var wbAll = webBrowser.Document.All.Cast<HtmlElement>();
var maxWidth = wbAll.Max(x => Math.Max(x.ClientRectangle.Width, x.ScrollRectangle.Width));
var maxHeight =wbAll.Max(x => Math.Max(x.ClientRectangle.Height, x.ScrollRectangle.Height));
webBrowser.Height = maxHeight;
webBrowser.Width = maxWidth;