2016-04-02 4 views
1

Создание приложения в Visual Studio 2015 с использованием C#, я хочу сохранить файл туда, куда хочет пользователь, поэтому я добавляю объект SaveFileDialog к моему проекту, но после настройки свойств, независимо от того, имя файла Я вхожу, диалог сохранения говорит:saveFileDialog: имя файла недопустимо

Неверное имя файла.

(Я проверил путь к файлу и символы в имени файла).

Мой код, чтобы показать диалог:

DialogResult dr = saveFileDialog1.ShowDialog(); 
if (dr == System.Windows.Forms.DialogResult.OK) 
{ 
    Save(saveFileDialog1.FileName); 
} 

В чем проблема?

enter image description here

enter image description here

+0

Что вы подразумеваете под 'Save (saveFileDialog1.FileName);'? –

+0

Это мой метод для записи информации в выбранный файл пользователем. – wiki

ответ

1

Вы должны удалить двойные кавычки вокруг вашей собственности фильтра.

в коде должно быть

saveFileDialog1.Filter = "Product list|*.json"; 

двойные кавычки, кажется, путают чеки SaveFileDialog о справедливости имени типизированного. (Обратите внимание, как текст появляется в поле «Сохранить как тип»).
Кроме того, если вы введете имя файла с расширением, эта ошибка, похоже, исчезнет.

Сначала кажется, что ваш конкретный текст фильтра вызывает проблему, потому что он интерпретируется как описание вместо обязательного описания, за которым следует символ | и расширение, как требуется спецификациями фильтра.

Но и если вы пишете как этот

saveFileDialog1.Filter = "\"Product files|*.json\"|*.json"; 

вы получите ошибку Довод Exception о том, что введенная строка фильтра не хватает требуемого формата.

Итак, единственный вывод здесь заключается в том, что вы не можете использовать двойные кавычки в строке фильтра.

+0

Большое спасибо за ответ. – wiki

Смежные вопросы