2012-11-08 31 views
1

我是編程初學者,我正在編寫我的第二個程序。 我有一個關於如何獲得我的應用程序啓動路徑的相對路徑的問題。 本程序讀取一個.xml文件,其中存儲了一個.jpg路徑。它爲每個路徑創建一個Picturebox並加載相應的圖像。 我的問題是,我的Dropbox中的圖像能夠在任何具有Dropbox的PC上使用該程序。當我在主PC上使用OpenFileDialog並將.jpg的路徑保存到xml時,它不會在我的筆記本電腦上工作,因爲Dropbox文件夾位於另一個驅動器上,與我的主PC上一樣。從C#中的OpenFileDialog獲取相對路徑

有沒有人有一個想法,如何解決這個問題?

+1

你能檢查一下嗎? http://stackoverflow.com/questions/7416605/using-openfiledialog-w-a-relative-path-as-initialdirectory – pordi

回答

2

爲了解決您的問題,這將讓你的應用程序

Directory.GetCurrentDirectory() 

的當前位置可以做一個簡單的路徑替換。

例子:

String JPG_Path_Relative = openFileDialog1.FileName.Replace(Directory.GetCurrentDirectory(),"") 
+0

謝謝,這工作! 摘要: 1.使用你的行保存圖像路徑,這會給我「/images/mypic.jpg」 2.從xml載入路徑並添加Directory.getCurrentDirectory()infront它 3.載入圖片框與組合的字符串給我「D:/users/username/dropbox/myprogram/images/mypic.jpg」 –

0

當Dropbox的文件夾在默認位置(用戶文件夾),你可以用它來得到你的路徑:

string userFolderPath= Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 

這會給C:\用戶\ USERNAME(驅動器可能不同)。 然後只需將其餘路徑添加到圖像文件夾。

string imageFolderPath = userFolderPath + @"\Dropbox\Imagefolder";