Принудительный диалог сохранения файла для сохранения с определенной строкой в ​​качестве имени файла - PullRequest
3 голосов
/ 26 августа 2011

Привет, мне интересно, есть ли способ заставить пользователя сохранить файл с определенным именем.

Например, я знаю, что вы можете сделать:

SaveFileDialog.FileName = "string";

Но теперь яИнтересно, могу ли я заблокировать FileName, чтобы пользователь не мог его изменить.Поскольку для программного обеспечения, которое я делаю, важно, чтобы FileName было равно (потому что оно загружает имя файла и вводит его в качестве заголовка TextBox).

string Title;

Ответы [ 2 ]

10 голосов
/ 26 августа 2011

Что ж, если все, что вам нужно, это чтобы они выбрали каталог, вам не нужен SaveFileDialog, и вы можете вместо этого использовать FolderBrowserDialog, чтобы хотя бы позволить им выбрать, куда он идет.

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

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

Конечно, если пользователю даже не нужно контролировать местоположение, пройдите целых девять ярдов и автоматизируйте это тоже, возможно, используя Изолированное хранилище или файл, похороненный в пути установки вашего приложения. .

2 голосов
/ 26 августа 2011

Как сказал Адам выше, вы можете просто использовать FolderBrowserDialog вместо SaveFileDialog.Если по какой-то причине вы действительно хотите использовать SaveFileDialog, вы можете просто установить FileName = "string"; в своем обработчике нажатия кнопки Ok.Я бы не советовал делать это, так как это сделало бы то, чего пользователь не ожидает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...