我在Windows Form解决方案中有一个PictureBox图像。用户从数据库中选择项目后,我想将一张图片加载到这个PictureBox中。图片的文件名将来自数据库,所有图片都必须存储在应用程序文件夹的子文件夹(\Images)中。
我不想在我的解决方案中包含所有这些(2000-3000张)图片,此外,随着数据库的增长,用户还会添加更多的图片。
另外,我不想编写绝对路径。所以这不是我想要的:
pictureBox.Image = Image.FromFile(@"C:\Program Files\Application\Images\" + dbase.filename);
我想编写一个相对路径,使得无论应用程序安装在哪里,都可以从特定的子文件夹加载图片。
我尝试了以下代码,使用临时测试图片 "test.jpg":
pictureBox.Image = Image.FromFile(@"Images\test.jpg");
pictureBox.Image = Image.FromFile(@"..\Images\test.jpg");
pictureBox.Image = Image.FromFile(@"|DataDirectory|\Images\test.jpg");
但是这些方法都不起作用。我只能使用绝对路径才能让它工作,例如"C:\Images\test.jpg"。我该怎么办?
MsgBox(Environment.CurrentDirectory)
来查看它实际上是什么。 - Ross Presser