将本地网页加载到Web浏览器控件中

时间:2014-04-09 21:32:09

标签: c# winforms controls

我试图简单地将一个webbrowser控件添加到一个窗口,然后让它打开一个页面。我尝试了一个Web URL以及一个本地HTML文件但无济于事。这是我的代码:

命名空间qTab1 {     公共部分类Form1:表格     {         公共Form1()         {             的InitializeComponent();         }

    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";
    }
}

}

这是我目前的项目:

enter image description here

我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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

  1. 右键单击html文件,点击属性,然后将变量“复制到输出目录”设置为始终复制。这样,html文件将与您的可执行文件一起复制。
  2. 现在您必须将本地文件加载到WebBrowser控件中。以下应该有效:

    webBrowser1.Url = new Uri(“file:///”+ Directory.GetCurrentDirectory()+“/ index.html”);

相关问题