在我的应用程序中,我有一个 WebBrowser 元素。
我想在其中加载一个本地文件。
我有一些问题:
- 放置 HTML 文件的位置(以便在用户执行安装时也会安装它)
- 如何引用文件? (例如,我猜测用户的安装文件夹不会始终相同)
编辑
我已将 HTML 文件添加到我的项目中。
我已将其设置为将其复制到输出文件夹。
当我检查它在运行时是否存在:\bin\Debug\Documentation\index.html
但是,当我执行以下操作时,我在 webbrowser 元素中收到“页面无法显示”错误。
我使用以下代码尝试在 Webbrowser 中显示 HTML 文件。
webBrowser1.Navigate(@".\Documentation\index.html");
最佳答案
- 在 Visual Studio 中对该文件执行右键单击->属性。
- 将复制到输出目录设置为始终复制。
然后您将能够通过使用诸如 @".\my_html.html"
的路径来引用您的文件>
复制到输出目录将在构建项目时将文件放在与二进制 dll 相同的文件夹中。这适用于任何内容文件,即使它位于子文件夹中。
如果您使用子文件夹,它也将被复制到 bin 文件夹中,因此您的路径将是 @".\my_subfolder\my_html.html"
为了创建一个你可以在本地使用的 URI(而不是通过网络服务),你需要使用 file 协议(protocol),使用你的二进制文件的基本目录 - 注意:这个仅当您如上所述设置“复制到输出目录”或路径不正确时才有效。
这是你需要的:
string curDir = Directory.GetCurrentDirectory();
this.webBrowser1.Url = new Uri(String.Format("file:///{0}/my_html.html", curDir));
当然,您必须更改变量和名称。
关于c# - 在 C# WebBrowser 中加载本地 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194851/