调用Web浏览器

时间:2016-05-07 19:31:25

标签: c# winforms webbrowser-control

我试图解决这个问题,我也需要一些帮助和一些建议。

问题是我想调用本地html文件。

Solution Explorer

调用文件是HelpFile.cs,表单中包含webBrowser控件。

我试图联系的地址是

    C:\Users\Keith\Desktop\Lingerie\Corset\Corset\Bra.html

正在从

调用该文件

Webbrowser Properties

结果是无法显示可怕的页面。

我想要做的是能够将文件称为相对html页面。在稍后阶段,我希望能够调用不同的帮助文件。

这是继续进行的最佳方式,还是我犯了一个根本性的错误,走错了路?

任何建设性的帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

使用设计器,它足以将Url属性设置为确切的文件系统地址,您不需要那些http://file///。还使用代码导航到文件系统URL,您可以使用以下任一选项:

  • this.webBrowser1.Url = new System.Uri(@"d:\test.html", System.UriKind.Absolute);
  • this.webBrowser1.Navigate(@"d:\test.html");

但您现在应该,在用户计算机上运行程序后,该文件将不在该地址中。因此,您应该将文件保存在bin文件夹中,或将其作为资源使用,并从资源或bin路径中使用它。

将文件放入输出目录

转到解决方案资源管理器并查看文件的属性。然后将Copy to Output Directory设置为Copy always。然后该文件将被复制到您的输出目录,您可以这样使用它:

var path = System.IO.Path.Combine(Application.StartupPath, "test.html");
this.webBrowser1.Navigate(path);

使用资源

您可以打开项目的Resources.resx文件并添加现有文件并将html文件添加到其中。然后,它的内容将通过您的资源的字符串属性提供。然后你可以这样使用它:

this.webBrowser1.DocumentText = Properties.Resources.test;