Webbrowser HTML 文件存储目录 在 WinForms 应用程序中?
Webbrowser HTML files storage directory In a WinForms Application?
我正在尝试使用存储产品名称和价格的本地数据库在 Win-Forms 中开发应用程序。
我制作了 SearchBox
和 DataGridView
用于显示产品,制作了 WebBrowser
用于显示 HTML 文件。每当用户通过 DataGridView
点击产品时,这将显示产品特征。我正在考虑将 HTML 文件存储在 Visual Studio.
资源下的文件夹中
我的问题是这些 HTML 文件在用户安装后会放置在哪里(在 x86 和 x64 位上)?因为每次用户点击网格视图中的产品时,我都需要指向文件目录。
所以这是
的代码
public void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
string Product_id;
DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
RCP_id = row.Cells["ProductID"].Value.ToString();
try
{
Browser1.Navigate("file:///C:/Users/ME/Documents/" + Product_id + ".html");
catch
{
RCPBrowser.Navigate("file:///C:/Users/ME/Documents/default.html");
}
}
当您将某些资源放入 Visual Studio 项目时,默认情况下该资源包含在生成的可执行文件(exe 或 dll)中。您可以使用 Resources.nameOfTheResource 从代码中访问它们。文件系统上不会保存其他文件,所以你的问题实际上不是问题。
但在您的情况下,将 HTML 文件作为资源存储在 exe 中并不是一个好的选择:您将无法让浏览器从一个 HTML 导航到另一个。
将 HTML 文件存储在 currentExeFolder /Resources(或任何合适的文件夹名称)并将它们与您的 exe 一起部署。
理想的方式是将文件放在应用程序文件夹中。
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "//Filename.filetype");
我正在尝试使用存储产品名称和价格的本地数据库在 Win-Forms 中开发应用程序。
我制作了 SearchBox
和 DataGridView
用于显示产品,制作了 WebBrowser
用于显示 HTML 文件。每当用户通过 DataGridView
点击产品时,这将显示产品特征。我正在考虑将 HTML 文件存储在 Visual Studio.
我的问题是这些 HTML 文件在用户安装后会放置在哪里(在 x86 和 x64 位上)?因为每次用户点击网格视图中的产品时,我都需要指向文件目录。 所以这是
的代码 public void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
string Product_id;
DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
RCP_id = row.Cells["ProductID"].Value.ToString();
try
{
Browser1.Navigate("file:///C:/Users/ME/Documents/" + Product_id + ".html");
catch
{
RCPBrowser.Navigate("file:///C:/Users/ME/Documents/default.html");
}
}
当您将某些资源放入 Visual Studio 项目时,默认情况下该资源包含在生成的可执行文件(exe 或 dll)中。您可以使用 Resources.nameOfTheResource 从代码中访问它们。文件系统上不会保存其他文件,所以你的问题实际上不是问题。
但在您的情况下,将 HTML 文件作为资源存储在 exe 中并不是一个好的选择:您将无法让浏览器从一个 HTML 导航到另一个。
将 HTML 文件存储在 currentExeFolder /Resources(或任何合适的文件夹名称)并将它们与您的 exe 一起部署。
理想的方式是将文件放在应用程序文件夹中。
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "//Filename.filetype");