获取虚拟webbrowser中的页面宽度和高度

时间:2014-02-11 05:21:13

标签: c# height browser width virtual

我正在尝试获取上传的html文件的宽度和高度。这是我到目前为止所做的。

WebBrowser wb = new WebBrowser();
int ht,wd;
wb.Navigate("D:\\page1.HTM");
ht = wb.Height;
wd = wb.Width;

但上面的代码总是返回错误的页面大小。

有人可以帮我在c#环境中获取确切的页面大小吗?

仅供参考:对于那些将此问题标记为重复的人,请考虑原始问题(根据您的观点),webbrowser工具是在形式但在我的情况下,我 不会实现它 。我只是想用它。我希望第一行代码表示。

1 个答案:

答案 0 :(得分:1)

你可以尝试

public partial class Form1 : Form
{
    WebBrowser wb = new WebBrowser();
    public Form1()
    {
        InitializeComponent();
        wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
        wb.Navigate("D:\\page1.HTM");

    }

    private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        int scrollWidth = wb.Document.Body.ScrollRectangle.Width;
        int scrollHeight = wb.Document.Body.ScrollRectangle.Height;
    }
}

这对我来说很好.. ..

代码

wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);

用于将DocumentCompleted事件绑定到虚拟网络浏览器Form1是一个winform,除了虚拟webbrowser,声明为WebBrowser wb = new WebBrowser();

之外,该表单中没有控件

在文档(此处为page1.HTM)完全加载后触发DocumentCompleted事件。

Reference