FileSaveDialog изменяет мой текущий путь к рабочей директории - PullRequest
0 голосов
/ 17 декабря 2010

Я новичок в winforms и столкнулся с одной проблемой в моем приложении.Я пытаюсь показать пользователю, чтобы сохранить файл, используя SaveFileDialog элемент управления в моей форме.Но как только пользователь выбирает свой каталог и сохраняет свой файл, мой следующий код, использующий Directory.getCurrentDirectory () , не может указать мой рабочий каталог.Кажется, что SaveFileDialog вызывает проблему здесь.

Например: - У меня есть эти строки кода -

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?

Ответы [ 2 ]

4 голосов
/ 17 декабря 2010

Я нашел возможный ответ в комментариях к Отличному блогу Раймонда Чена :

в классе System.Windows.Forms.FileDialog, есть свойство 'RestoreDirectory'

1 голос
/ 17 декабря 2010

Ну, вы можете использовать Application.StartupPath , если вы всегда хотите, чтобы он указывал на каталог bin

...