我想显示我的项目中存在的本地html文件:
调用文件是HelpFile.cs
,并且在表单中包含WebBrowser
控件。
我想到达的地址是:
C:\Users\Keith\Desktop\Lingerie\Corset\Corset\Bra.html
正在从以下位置调用文件:
结果是无法显示可怕的页面。
我想做的是能够将文件称为相对HTML页面。在稍后的阶段,我希望能够调用不同的帮助文件。
这是进行下一步的最佳方法,还是我犯了一个基本错误并走错了路?
任何建设性的帮助,将不胜感激。
使用设计器,将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;