问个 winform 路径的问题

tristan0429 2010-01-12 10:28:08
假设我现在新建了一个解决方案,下面有一个 winform 工程,在这个工程里面新建了一个 pic 文件夹,里面有个图片 pic\a.jpg 。

我希望在 winform 里的一个 PictureBox 里加载这个图片,而且是用路径的形式,假设是这样 picbox.path = "xxx"。

这里应该用相对路径,请问下,这个相对路径应该怎么写??

我一开始用的获取程序启动路径,但是这个路径包含着 \bin\debug 目录,因为是调试状态嘛,但是如果制作安装文件正式安装后 exe 文件应该是和 pic 目录同级的吧??难道我要调试的时候写一个路径,制作安装的时候又写一个路径??

不知道我表达清了没有,做 winform 的应该知道吧。

我把目录简单画下:
1.这是工程的目录

-- Proj
-- bin
-- debug\app.exe
-- realse
-- pic\a.jpg

2.这是安装包安装后的目录
-- Folder1
-- app.exe
-- pic\a.jpg
...全文
213 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tristan0429 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mendel 的回复:]
多在debug的时候,程序是在debug目录运行的,所以你的debug目录下也要有pic文件夹和文件,打包安装以后,你只管判断Application.StartPath+相对路径就OK了,不要管在哪个目录.
[/Quote]

是我就是这个意思,你们一般怎么做的??用条件编译??把pic目录复制到 debug 目录??
microwaterice 2010-01-12
  • 打赏
  • 举报
回复
上述基本解答正确。
mendel 2010-01-12
  • 打赏
  • 举报
回复
多在debug的时候,程序是在debug目录运行的,所以你的debug目录下也要有pic文件夹和文件,打包安装以后,你只管判断Application.StartPath+相对路径就OK了,不要管在哪个目录.
ck11926375 2010-01-12
  • 打赏
  • 举报
回复

string path = Application.StartupPath + "\\111.bmp";
this.pictureBox1.Image = System.Drawing.Image.FromFile(path);
shighui 2010-01-12
  • 打赏
  • 举报
回复
要不使用相对路径,要不就动态拼接绝对路径,拿启动路径+相对路径拼接绝对路径。



同意!
acqy 2010-01-12
  • 打赏
  • 举报
回复
这样呢:

string path;
#if DEBUG
path = Path.Combine(Directory.GetParent(Application.StartupPath).Parent.Parent.FullName, @"pic");
#else
path = Path.Combine(Application.StartupPath, @"pic");
#endif
MessageBox.Show(File.Exists(path + "\\a.txt").ToString());
qldsrx 2010-01-12
  • 打赏
  • 举报
回复
要不使用相对路径,要不就动态拼接绝对路径,拿启动路径+相对路径拼接绝对路径。
mzy939216 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 acqy 的回复:]
我一般是在Debug目录下建立自己需要的目录,这样基本上可以维持调试时候的目录结构与发布时的目录结构一致,就不需要针对两种环境配置两种目录结构。
如果你的文件可以让用户自己决定放在哪里的话,那你可以使用App.config,然用户自己去配置。

[/Quote]基本同意
wangxiao2008 2010-01-12
  • 打赏
  • 举报
回复
o
mendel 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tristan0429 的回复:]
引用 5 楼 mendel 的回复:
多在debug的时候,程序是在debug目录运行的,所以你的debug目录下也要有pic文件夹和文件,打包安装以后,你只管判断Application.StartPath+相对路径就OK了,不要管在哪个目录.


是我就是这个意思,你们一般怎么做的??用条件编译??把pic目录复制到 debug 目录??
[/Quote]

我是直接复制的...
tristan0429 2010-01-12
  • 打赏
  • 举报
回复
非常感谢各位!!
acqy 2010-01-12
  • 打赏
  • 举报
回复
我一般是在Debug目录下建立自己需要的目录,这样基本上可以维持调试时候的目录结构与发布时的目录结构一致,就不需要针对两种环境配置两种目录结构。
如果你的文件可以让用户自己决定放在哪里的话,那你可以使用App.config,然用户自己去配置。

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧