gpt4 book ai didi

c# - 在 C# WebBrowser 中加载本地 HTML 文件

转载 作者:IT王子 更新时间:2023-10-29 03:48:19 32 4
gpt4 key购买 nike

在我的应用程序中,我有一个 WebBrowser 元素。

我想在其中加载一个本地文件。

我有一些问题:

  1. 放置 HTML 文件的位置(以便在用户执行安装时也会安装它)
  2. 如何引用文件? (例如,我猜测用户的安装文件夹不会始终相同)

编辑

我已将 HTML 文件添加到我的项目中。

我已将其设置为将其复制到输出文件夹。

当我检查它在运行时是否存在:\bin\Debug\Documentation\index.html

但是,当我执行以下操作时,我在 webbrowser 元素中收到“页面无法显示”错误。

我使用以下代码尝试在 Webbrowser 中显示 HTML 文件。

webBrowser1.Navigate(@".\Documentation\index.html");

最佳答案

  1. 在 Visual Studio 中对该文件执行右键单击->属性
  2. 复制到输出目录设置为始终复制

然后您将能够通过使用诸如 @".\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/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com