显示项目中存在的本地HTML文件

问题描述 投票:0回答:1

我想显示我的项目中存在的本地html文件:

Solution Explorer

调用文件是HelpFile.cs,并且在表单中包含WebBrowser控件。

我想到达的地址是:

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

正在从以下位置调用文件:

Webbrowser Properties

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

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

这是进行下一步的最佳方法,还是我犯了一个基本错误并走错了路?

任何建设性的帮助,将不胜感激。

c# .net winforms webbrowser-control
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.