2013-06-13 200 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\";