我正在尝试使用存储产品名称和价格的本地数据库在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");
}
}
答案 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");