C# 将本地网页加载到webbrowser控件中

C# 将本地网页加载到webbrowser控件中,c#,winforms,controls,C#,Winforms,Controls,我试图简单地将webbrowser控件添加到窗口,然后让它打开一个页面。我尝试了一个web URL和一个本地HTML文件,但都没有用。这是我的密码: 命名空间qTab1 { 公共部分类Form1:Form { 公共表格1() { 初始化组件(); } private void Form1_Load(object sender, EventArgs e) { FileStream source = new FileStream("index.html", FileM

我试图简单地将webbrowser控件添加到窗口,然后让它打开一个页面。我尝试了一个web URL和一个本地HTML文件,但都没有用。这是我的密码:

命名空间qTab1 { 公共部分类Form1:Form { 公共表格1() { 初始化组件(); }

    private void Form1_Load(object sender, EventArgs e)
    {
        FileStream source = new FileStream("index.html", FileMode.Open, FileAccess.Read);
        webBrowser1.DocumentStream = source;
        //// When the form loads, open this web page.
        //webBrowser1.Navigate("www.google.com");
    }

    private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        // Set text while the page has not yet loaded.
        this.Text = "Navigating";
    }

    private void webBrowser1_DocumentCompleted(object sender,
        WebBrowserDocumentCompletedEventArgs e)
    {
        // Better use the e parameter to get the url.
        // ... This makes the method more generic and reusable.
        this.Text = e.Url.ToString() + " loaded";
    }
}
}

    private void Form1_Load(object sender, EventArgs e)
    {
        FileStream source = new FileStream("index.html", FileMode.Open, FileAccess.Read);
        webBrowser1.DocumentStream = source;
        //// When the form loads, open this web page.
        //webBrowser1.Navigate("www.google.com");
    }

    private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        // Set text while the page has not yet loaded.
        this.Text = "Navigating";
    }

    private void webBrowser1_DocumentCompleted(object sender,
        WebBrowserDocumentCompletedEventArgs e)
    {
        // Better use the e parameter to get the url.
        // ... This makes the method more generic and reusable.
        this.Text = e.Url.ToString() + " loaded";
    }
}
这是我目前的项目:


我做错了什么?

发生这种情况的原因是,当您按调试或以任何其他方式构建项目时,根目录是可执行文件的目录(因此它将是-/bin/Debug),而不是项目的目录

要解决此问题,可以执行以下操作:

  • 右键单击html文件,单击属性,并将变量“复制到输出目录”设置为始终复制。这样,html文件将与可执行文件一起复制
  • 现在,您必须将本地文件加载到WebBrowser控件中。以下操作应能正常工作:

    webBrowser1.Url=新Uri(“文件://“+目录.GetCurrentDirectory()+”/index.html”)


  • 你说的一切都有道理,但在你的建议之后,我仍然得到一个空白页,没有加载任何内容。我认为我在某些方面错了。只是做了一个快速检查(按照我写的相同步骤),一切似乎都很好。请检查你的./bin/Debug文件夹。它是否包含index.html?