有一个程序p1,里面有一个存放图片的文件夹photo。
目录结构如下:(文件夹p1包含文件夹Resources、bin,Resources包含photo,bin包含Debug)
p1
——Resources
——photo
——bin
——Debug
文件夹photo里面有一个要在pictureBox中显示的文件a.jpg。
如果文件夹Resources在文件夹Debug下的话(即和exe文件在同一个文件夹),可以用pictureBoxStu.ImageLocation = AppDomain.CurrentDomain.BaseDirectory + "\\Resources\\photo\\a.jpg";来实现。
但现在文件夹Resources不在Debug下,而是在文件夹p1下,请问应该如何实现显示a.jpg(使用相对路径)?
如果这个程序是需要打包发行的,那么Resources文件夹应该放在哪里好呢?放在p1下还是放在Debug下好?pictureBoxStu.ImageLocation = AppDomain.CurrentDomain.BaseDirectory + "\\..\\Resources\\photo\\a.jpg";
另外,发行的时候,应该使用Release重新编译,一般来说,这些图片之类的附属文件都是放在主文件夹的居多。
回答者: dancingbit - 2009-08-16 16:31:10
-----------bin
|------Photo
可以这样组织,或者不要bin,就在程序所在的文件夹下创建Photo文件夹。
回答者: dancingbit - 2009-08-16 16:32:37我用个ImageList
回答者: cc_net - 2009-08-16 16:33:15Resources是会编译到EXE的.
My.Resources.资源名称
回答者: dylike - 2009-08-16 16:35:22用这个语句不行啊!
pictureBoxStu.ImageLocation = AppDomain.CurrentDomain.BaseDirectory + "\\..\\Resources\\photo\\a.jpg";
因为 AppDomain.CurrentDomain.BaseDirectory 是指exe文件所在的文件夹,即Debug文件夹。
现在Resources是在程序的根文件夹p1下。
回答者: lilyhappyday - 2009-08-16 16:41:33再加一级就是了:
pictureBoxStu.ImageLocation = AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\Resources\\photo\\a.jpg";