2014-02-14 485 views
3

dialog是一個OpenFileDialog類對象,我使用的是ShowDialog()方法。OpenFileDialog InitialDirectory不接受相對路徑嗎?

當我使用含相對路徑,如路徑:

dialog.InitialDirectory = "..\\abcd"; 
dialog.InitialDirectory = Directory.GetCurrentDirectory() + "..\\abcd"; 

ShowDialog()崩潰,我只能做的就是給個明確的路徑,通過磁盤驅動器啓動:

dialog.InitialDirectory = "C:\\ABC\\DEF\\abcd"; 

在這種情況下,我希望路徑在我的.exe的當前目錄上向上1級,然後向下到目錄abcd
.exe的當前路徑可以通過Directory.GetCurrentDirectory()找到,這是每個fectly很好,但我不能目錄hierarchyis喜歡去與".."

ABC 
    DEF 
     abcd (where i want) 
     defg (where .exe is at) 

那麼,有沒有任何使用"..\\"InitialDirectory方法?
或者我必須使用明確的路徑嗎?
謝謝!

+0

檢查此:http://stackoverflow.com/questions/1175242/setting-the-initial-directory-of-an-savefiledialog/1175250#1175250 – Matt

回答

3

我找到了我自己的答案!

string CombinedPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "..\\abcd"); 
dialog.InitialDirectory = System.IO.Path.GetFullPath(CombinedPath); 
2

查看是否存在以下讓你你正在尋找的路徑:

dialog.InitialDirectory 
    = Path.Combine(Path.GetDirectoryName(Directory.GetCurrentDirectory()), "abcd"); 

關閉路徑的最後部分Path.GetDirectoryName條的電話,最後一個目錄分離器後,它是否是一個文件名或文件夾名稱。