Web浏览器HTML文件存储目录在WinForms应用程序中?

时间:2015-11-22 15:26:28

标签: c# winforms datagridview webbrowser-control

我正在尝试使用存储产品名称和价格的本地数据库在Win-Forms中开发应用程序。

我制作了一个SearchBoxDataGridView用于展示产品,一个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");
        }
    }

2 个答案:

答案 0 :(得分:1)

当您在Visual Studio项目中放置一些资源时,默认情况下该资源包含在生成的可执行文件(exe或dll)中。您可以使用Resources。 nameOfTheResource 从代码访问它们。文件系统上不会保存任何其他文件,因此您的问题实际上不是问题。

但是在你的情况下,将HTML文件作为资源存储在exe中并不是一个好的选择:你将无法让浏览器从一个HTML导航到另一个HTML。

存储HTML文件是 currentExeFolder / Resources(或任何适合的文件夹名称),并将它们与您的exe一起部署。

答案 1 :(得分:1)

理想的方法是将文件放在应用程序文件夹中。

Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "//Filename.filetype");