Как работает свойство AddExtension в C # 2.0? - PullRequest
8 голосов
/ 23 декабря 2008

Я хочу открыть диалоговое окно сохранения файла, чтобы пользователь ввел имя файла, а если они забыли расширение .csv, включите его.

Казалось бы, свойство AddFtension SaveFileDialog будет работать, но это не так. Я даже установил для свойства DefaultExt значение .csv, но до сих пор ничего не добавлено. Мой файл сохраняется просто отлично, но без расширения, поэтому пользователь не может просто дважды щелкнуть файл и открыть его в Excel.

Я должен упустить что-то очевидное. Вот что у меня есть

        SaveFileDialog sfd = new SaveFileDialog();
        sfd.DefaultExt = "*.csv";
        sfd.Filter = "Comma Separated(*.csv)|*.*";
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            // Do my file saving
        }

Ответы [ 2 ]

13 голосов
/ 23 декабря 2008

Попробуйте просто использовать "csv" для DefaultExt - также вы должны быть using this (это IDisposable):

        using (SaveFileDialog sfd = new SaveFileDialog())
        {
            sfd.AddExtension = true;
            sfd.DefaultExt = "csv";
            sfd.Filter = "Comma Separated(*.csv)|*.*";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                // Do my file saving
            }
        }
0 голосов
/ 24 марта 2009

Он не привязан к расширению в диалоговом окне, хотя и должен. Вместо этого он закрывает расширение sfd.filename при закрытии диалога.

...