Show / Hide Table of Contents

Практическое руководство. Создание параметров приложения

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

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

Эту процедуру можно также выполнить с помощью минимального объема кода в конструкторе Visual Studio. Также см. раздел Как Создание параметров приложения с помощью конструктора.

Создание параметров приложения программными средствами

  1. Добавьте в проект новый класс и переименуйте его. Для выполнения этой процедуры мы назовем этот класс MyUserSettings. Измените определение класса так, чтобы он стал производным от ApplicationSettingsBase.

  2. Определите в этом классе-оболочке свойство для каждого требуемого параметра приложения и примените его с атрибутом ApplicationScopedSettingAttribute или UserScopedSettingAttribute в зависимости от области действия параметра. Дополнительные сведения об области действия параметров см. в разделе Общие сведения о параметрах приложения. На этом этапе код должен выглядеть так:

    using System;
    using System.Configuration;
    using System.Drawing;
    
    public class MyUserSettings : ApplicationSettingsBase
    {
        [UserScopedSetting()]
        [DefaultSettingValue("white")]
        public Color BackgroundColor
        {
            get
            {
                return ((Color)this["BackgroundColor"]);
            }
            set
            {
                this["BackgroundColor"] = (Color)value;
            }
        }
    }
    
  3. Создайте экземпляр этого класса-оболочки в приложении. Как правило, он является закрытым членом главной формы. Определив класс, нужно привязать его к свойству, в данном случае к свойству BackColor формы. Это можно сделать в вашей форме Load обработчик событий.

    MyUserSettings mus;
    
    private void Form1_Load(object sender, EventArgs e)
    {
        mus = new MyUserSettings();
        mus.BackgroundColor = Color.AliceBlue;
        this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor"));
    }
    
  4. Если вы предоставляете возможность изменения параметров во время выполнения, необходимо сохранять текущие параметры пользователя на диск при закрытии формы, иначе изменения будут потеряны.

    //Make sure to hook up this event handler in the constructor!
    //this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
        void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            mus.Save();
        }
    

    Теперь новый параметр приложения успешно создан и связан с указанным свойством.

Безопасность платформы .NET Framework

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

См. также

  • SpecialSettingAttribute
  • LocalFileSettingsProvider
  • Общие сведения о параметрах приложений
  • Практическое руководство. Проверка параметров приложения
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX