До использования .NET Framework, настройки приложения сохранялись в INI-файлах и реестре Windows. Но в .NET Framework появились гораздо более простые способы работы с XML-файлами. Этот файл называется <имя сборки>.exe.config и находится внутри папки приложения. Такой способ лучше, потому что, когда приложение будет деинсталированно или удалено, конечному пользователю не придется беспокоиться об оставшихся ключах реестра или INI файлов в каталоге Windows.
Каждая настройка имеет четыре свойства: имя, тип, значение и область видимости. Тип может быть типом данных или объектом. Настройка может быть доступна пользователю или приложению. Основное различие между ними заключается в том, что настройки с областью видимости на уровне приложения будут доступны только для чтения во время выполнения, в то время как настройки с пользовательской областью видимости доступны и для чтения и для записи во время выполнения программы.
Создание новых настроек
Чтобы приступить к созданию новых настроек, в обозревателе решений (Solution Explorer) нужно щелкнуть правой кнопкой мыши на файле проекта, выбрать Свойства (Properties), или расширить уже существующий файл с настройками, дважды щелкнув на файле .setting. Затем нужно ввести имя, тип, область видимости и значение для каждого параметра.
Манипулирование настроек
Чтобы прочитать и сохранить значение параметра в C#, нужно использовать простсранство имён Properties. В следующем примере есть TextBox и две кнопки, называемые newValueTextBox, displayButton и saveButton соответственно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
private void displayButton_Click(object sender, EventArgs e) { //get the value of SavedSetting1 which is a string string currentVal = Properties.Settings.Default.SavedSetting1; MessageBox.Show("The value of SavedSetting1 is '" + currentVal + "'"); } private void saveButton_Click(object sender, EventArgs e) { //set the new value of SavedSetting1 Properties.Settings.Default.SavedSetting1 = newValueTextBox.Text; //apply the changes to the settings file Properties.Settings.Default.Save(); } |
Статья написана по материалам этого англоязычного поста.
Полезная статья? Их будет больше, если вы поддержите меня!