Постоянное строковое значение в .net Windows Form - PullRequest
1 голос
/ 26 июня 2009

Мне интересно, как проще всего сохранить строковое значение после закрытия формы и программы, которое я хочу использовать позже, когда они открывают программу и формируют позже. В моем случае я использую FolderBrowserDialog и сохраняю каталог, который выбирает пользователь.

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

Спасибо!

Ответы [ 2 ]

8 голосов
/ 26 июня 2009

Настройки приложения приятны и просты в использовании.

  1. Щелкните правой кнопкой мыши по вашему проекту и выберите «Свойства»
  2. Перейдите на вкладку «Настройки» (нажмите, чтобы создать новый файл, если он не был создан)
  3. Дайте вашим новым настройкам имя и значение по умолчанию (например, "MySavedDirectory")
  4. Доступ к вашим настройкам из кода:

-

private string folder;
private void Form1_Load(object sender, EventArgs e)
{
  this.folder = Properties.Settings.Default.MySavedDirectory;
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
  Properties.Settings.Default.MySavedDirectory = this.folder;
  Properties.Settings.Default.Save();
}
0 голосов
/ 26 июня 2009

Есть встроенная функция настроек. Вы можете настроить параметры на страницах свойств проекта, а затем получить к ним доступ из кода через Properties.Settings. Но у меня были некоторые проблемы с этим подходом. С одной стороны, файл сохраняется в месте, которое вы не можете выбрать с именем, которое вы не можете выбрать. И IIRC, это местоположение / имя файла изменяется в зависимости от места, из которого вы запускаете приложение. Кроме того, вы не контролируете формат файла. В дополнение к этим недостаткам я столкнулся с некоторой порчей файлов, которая вызывает исключения при доступе к настройкам. Исправление состоит в том, чтобы пользователь обнаружил и удалил файл настроек.

Я больше не использую функцию «Настройки». Я предпочитаю JSON-сериализованные текстовые файлы, которые я могу сохранить где угодно. File.IO, конечно же, не является чем-то, от чего не следует отказываться, равно как и сериализация JSON. Я уверен, что вы можете найти множество замечательных примеров того и другого на этом сайте.

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