Подтвердить что ты не робот

Сохранить настройки в приложении .NET Winforms

Возможный дубликат:
Каков наилучший способ хранения пользовательских настроек для .NET-приложения?

Я нашел много разных примеров того, как можно сохранить настройки приложения (для каждого пользователя) из приложения Winforms.

Я предполагаю, что правильный способ сделать это очень просто в С#, и я надеюсь, что кто-то может просветить меня?

4b9b3361

Ответ 1

В какой-то момент ответ сводится к вкусу. Я бы сказал, что у вас будут по крайней мере следующие варианты:

  • сохранить его в реестре, где у вас есть ключ HKEY_CURRENT_USER. Все под ним зависит от пользователя. Обычно это предпочтительнее, если вы хотите сохранить кучу небольших пар ключ-значение. Основным преимуществом этой системы является то, что ваши настройки легко найти и разделить на несколько разных приложений. Чтобы следовать этому пути, вы можете начать с здесь.
  • , используя настройки .NET Application, обеспечивает самый простой способ доступа к вашим настройкам во время выполнения. Опять же, это лучше использовать с парами ключ-значение малых данных. IMO, основными преимуществами этого метода является его простота и тот факт, что он позволяет вам использовать некоторые классы .NET как значения (не заставляя вас преобразовывать все в более основные типы). Чтобы следовать этому пути, вы можете начать с здесь.
  • сохранить его в папках данных пользователя, которые обычно скрываются в каталоге профиля пользователя. Это предпочтительнее, если вы хотите хранить большой объем данных или любое количество файлов. Основным преимуществом этого метода является то, что вы можете манипулировать своими данными так же, как и с любыми файлами (что также может быть недостатком). Чтобы следовать этому пути, вы можете начать с здесь.

Ответ 2

Вы можете использовать инфраструктуру настроек, предоставляемую .NET. На страницах свойств проекта перейдите на страницу настроек и определите свои настройки. Вы можете определить область действия каждого параметра как "Приложение" или "Пользователь". Класс будет автоматически сгенерирован для доступа к этим настройкам из кода.

Для доступа к настройкам Foo и Bar используйте:

// Read settings
textBoxFoo.Text = Properties.Settings.Default.Foo;

// Write settings
Properties.Settings.Default.Bar = checkBoxBar.IsChecked;

// Save settings
Properties.Settings.Default.Save();

Ответ 3

Я бы использовал Настройки приложения. Это довольно просто, и вы позаботитесь о некоторых проблемах (например, не имея права на запись в папку, в которой ваше приложение может быть установлено без доступа администратора, что напрямую запрещено использовать app.config для ваших настроек).