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

C# 获取虚拟webbrowser中的页面宽度和高度,c#,height,browser,width,virtual,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#环境中获得准确的页面大小吗 FY: 对于那些标记这个问题为“强>重复< /强>的人,请考虑原来的问题(根据你的观点),WebBubor工具是在表单中实现的,但在

我试图获得上传的html文件的宽度和高度。这就是我到目前为止所做的

WebBrowser wb = new WebBrowser();
int ht,wd;
wb.Navigate("D:\\page1.HTM");
ht = wb.Height;
wd = wb.Width;
但是上面的代码总是返回错误的页面大小

有人能帮我在c#环境中获得准确的页面大小吗

<强> FY: 对于那些标记这个问题为“强>重复< /强>的人,请考虑原来的问题(根据你的观点),WebBubor工具是在表单中实现的,但在我的情况下,我<>不执行它。我正要用它。我希望第一行代码表示这一点。

您可以试试

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+=新的WebBrowserDocumentCompletedEventHandler(wb\u DocumentCompleted)

用于将
DocumentCompleted
事件绑定到虚拟网络浏览器
Form1
是一个winform,除了声明为
webbrowser wb=new webbrowser()的虚拟webbrowser外,该表单中没有任何控件

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


@pravprab,我需要上传的html文档的实际像素大小。根据你的链接,它说我们需要一个解析器。我使用虚拟webrowser控件加载html文件以满足我的要求。你有没有找到其他方法来实现我的选择?仅供参考:我只需要internet explorer的实际尺寸。我不在乎其他浏览器,这是个不错的选择。。但据我所知,我们无法在虚拟网络浏览器中实现javascript:(或者还有其他方法吗?事实上,你的理解正好相反。我在某个位置有一个html文件。如果我从c#应用程序中引用该文件,应用程序必须返回html页面的实际宽度和高度(根据internet explorer)所以,我不能在文件中使用Ajax组件。我不允许重写HTML文件……即使它被解雇了,我怎样才能从C到……,从JavaScript到C?好。如果它是一个文件,我可以重写文件。但是,考虑操作必须为一组10000个文件完成。在这种情况下,你的建议失败了。可能…但我正在搜索如何…因为有几个dll可以将html文件转换为pdf。它们的转换主要基于html页面大小。它们仅在visual studio中开发。因此我不能认为这是不可能的。对象引用未设置为对象的实例。这是我在使用您的建议时遇到的错误.我的代码是WebBrowser wb=new WebBrowser();wb.Navigate(新Uri(“D:\\page1.HTM”);int-scrollWidth=wb.Document.Body.ScrollRectangle.Width;int-scrollHeight=wb.Document.Body.ScrollRectangle.Height;