2014-10-29 45 views
0

我有InitialDirectory路徑問題,我使用了下面顯示的代碼的一部分。 OpenDialog總是顯示上次打開文件的目錄,但我無法設置新的相對路徑..我嘗試設置絕對路徑,但它也無法正常工作。打開文件對話框初始目錄

private static string path = System.Reflection.Assembly.GetExecutingAssembly().Location; 

public static string OpenDialog() 
    { 
     // Create OpenDialog 
     var dlg = new Microsoft.Win32.OpenFileDialog(); 

     // initial directory for OpenFileDialog need fix 
     if(Directory.Exists(path)) 
     { 
      dlg.InitialDirectory = path; 
     } 

     dlg.RestoreDirectory = true; 
+0

VAR initialDirectory = Path.GetDirectoryName(路徑) – marcoaoteixeira 2014-10-29 16:40:52

+0

你看了'打開文件對話框method'您可以設置過濾器/默認目錄代碼..查找方法在MSDN上 [打開文件對話框初始目錄](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.filedialog.initialdirectory(v = vs.110).aspx)取自一個簡單谷歌搜索 – MethodMan 2014-10-29 16:41:35

+0

我試過了,但它沒有爲我工作 – Seda 2014-10-29 16:47:27

回答

1

在你的榜樣,「路徑」被設置爲您的.exe,這將導致如果(Directory.Exists(路徑))失敗,因此,對話框將打開到最後一次正確的目錄,因爲InitialDirectory不會被設置爲您想要的值。首先嚐試簡單地對已知的良好目錄路徑進行硬編碼。或者你可以做這樣的事情來解決這個問題:

path = Directory.GetParent(System.Reflection.Assembly.GetExecutingAssembly().Location).FullName; 
+0

你嘗試過嗎?它應該解決你的問題 – 2014-10-29 19:14:05