2010-12-17 49 views
0

我是winforms的新手,在我的應用程序中面臨一個問題。我試圖向用戶顯示在我的表單上使用SaveFileDialog控件保存文件。但只要用戶選擇他的目錄並保存他的文件,我的下一個使用Directory.getCurrentDirectory()的代碼就無法指向我的工作目錄。看來SaveFileDialog在這裏引起問題。FileSaveDialog改變我當前的工作目錄路徑

對於如: - 我有這幾行代碼 -

MessageBox.Show(Directory.GetCurrentDirectory()); // output: C:\TestSamples\TestApp\Bin\Debug 
fdSave.ShowDialog(); // fdSave is SaveFileDialog control which will show to save file 
MessageBox.Show(Directory.GetCurrentDirectory()); //output: C:\Program files\outputDir (This is the path chosen by user to save file in previous saveDialog.) 

對此有任何解決方案,使我當前的工作目錄不得到改變,或者我應該保持一個變量來存儲我的當前工作目錄在使用saveDialog之前?

回答

4

我發現在評論一個可能的答案上Raymond Chen's excellent blog

在類System.Windows.Forms .FileDialog,有一個屬性'RestoreDirectory'

+0

是。這只是一個更普遍的例子,「哎呀,我沒寫的一些代碼正在改變工作目錄」。使用完整路徑。 – 2010-12-17 17:30:26

+0

@Hans Passant,很好的建議。你有沒有想過詢問OP爲什麼這不可能?或者甚至將建議作爲答案? – 2010-12-17 17:43:31

+0

我認爲OP會更滿意你的答案。 – 2010-12-17 17:48:26

相關問題