Диалог сохранения файла - путь не работает - PullRequest
3 голосов
/ 16 февраля 2010

App.config:

<add key="SaveDraftPath" value="C:\Drafts\"/>

C #:

var saveDraftPath = ConfigurationManager.AppSettings["SaveDraftPath"]; 
var sfDialog = new SaveFileDialog();
sfDialog.InitialDirectory = saveDraftPath;
sfDialog.FileName = "FILE";

По какой-то причине это не открывает браузер файлов в пути, как планировалось, кто-нибудь знает, почему или как это исправить?

Я попробовал это сейчас, все еще не работает:

var saveDraftPath = Path.GetFullPath(ConfigurationManager.AppSettings["SaveDraftPath"]);
MessageBox.Show("does directory exist : " + Directory.Exists(saveDraftPath));
var sfDialog = new SaveFileDialog();
sfDialog.InitialDirectory = saveDraftPath;
sfDialog.FileName = "FILE";

и Directory.Exists (saveDraftPath) возвращает true .. Хммм?!

Редактировать: Приведенный выше код работал один раз для меня. Кодекс работает для всех, кто до сих пор ответил. Но это все еще не работает. Поэтому я подозреваю, что проблема в том, что какая-то локальная / историческая настройка останавливает ее. Кто-нибудь знает, почему это может произойти?

Ответы [ 2 ]

1 голос
/ 16 февраля 2010

Попробуйте это:

var path = Path.GetFullPath (ConfigurationManager.AppSettings ["SaveDraftPath"])

Взгляните на Path Класс, также есть несколько полезных методов

0 голосов
/ 21 февраля 2010

это сработало для меня (получение правильного пути из конфига)

var saveDraftPath =
           ConfigurationManager.AppSettings["SaveDraftPath"];
        var sfDialog = new SaveFileDialog();
        sfDialog.InitialDirectory = saveDraftPath;
        sfDialog.FileName = "FILE";

        if (sfDialog.ShowDialog() == DialogResult.OK)
        {
            //do stuff
        }

см. Больше http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx

...