Хочу реализовать возможность сохранение настроек выставленных пользователями и стал вопрос как это лучше всего сделать? Создать свой собственный файл с настройками или использовать уже существующие варианты в платформе .Net? Также прошу навести принести примеры разных вариантов сохранения.
Для сохранения пользовательских настроек вы можете использовать класс ConfigurationSettings через который получать настройки сохранённые в app.config / web.config. Есть несколько вариантов получения настроек:
-
string value = ConfigurationSettings.AppSettings["Foo"]; // считывает настройку для ключа Foo (он должен присутствовать в файле конфигурации) Console.WriteLine(value);
Данный вариант получения настроек устарел!
// получить коллекцию NameValueCollection с всеми настройками сразу
NameValueCollection appSettings = ConfigurationManager.AppSettings;
Console.WriteLine(appSettings["Foo"]); // к ней можно обращаться как по ключу, так и по индексу элемента
Console.WriteLine(appSettings[0]);
- либо же можно через циклы перебрать все элементы настроек
например:
for (int i = 0; i < appSettings.Count; i++)
{
Console.WriteLine(appSettings[i]);
}
foreach (string item in appSettings)
{
Console.WriteLine(appSettings[item]);
}
ну и соответственно сохранение настроек нужно реализовать через запись node с настройками в *.config файл
Также есть вариант сохранения пользовательских настроек в регистре и для этого используется классы Registry и RegistryKey. В этом случаи вам нужно создать папку в регистре для своего приложения и создавать документы с настройками. Советую сперва почитать документацию о работе с регистром прежде чем пытаться всё реализовать, потому что при работе с регистром нужно быть очень осторожным и не изменить/удалить что-то нужное.