2013-06-13 199 views
1

你好,我有一个程序在C#中的Visual Studio中。 在这个程序中,我有一些需要调用的图片。还有一些需要保存的html文件。 所有这些文件都保存在地图'邮件'中。 目前,我有以下路径:c#相对路径

String pad = @"C:\Users\Charlotte\Desktop\proof of concept\mails\"; 

我需要这个路径是相对的,因此程序的用户可以只复制地图邮件到哪里,他/她想要和执行我的程序的EXE和只是与它一起工作。

任何人都可以帮助我吗?

+0

'relative'为* *什么? – JeffRSon

+0

听起来像你的应用程序没有安装到像'Program Files'这样的特殊文件夹,而是从下载位置运行? – Aphelion

+0

我的应用程序只是一个EXE和一个访问数据库,他们可以放在任何他们想要的地方。 –

回答

3

您可以使用函数:Directory.GetCurrentDirectory()获取当前目录的路径,而不是告诉程序完整路径。

+0

当我试图在我的应用程序中使用图像时,这帮助了我很多。在我自己的电脑上工作很好,但是当我试图在其他人上运行它时,由于它们在同一目录中没有图像,它会煞车。这解决了我的问题。再次感谢! – Roman

1

如果用户将文件放在任何他想要的位置,则需要告诉程序它在哪里。所以,如果你使用的OpenFile对话框,您的路径将是:

string pad = openFileDialog1.FileName; 

在另一方面,如果你的意思是一个路径应该是相对于你的exe文件,你可以使用:

string pad = Application.StartupPath + "\\mails\\"; 

这将意味着一个路径是你的exe \邮件的目录,但没有该文件的名称。

0

尝试

string path = @"..\..\mails\";