Поделиться через


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

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

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

Можно также выполнить эту процедуру с помощью минимального количества кода в конструкторе Visual Studio. Дополнительные сведения см. в следующем разделе. Практическое руководство. Создание параметров приложения с помощью конструктора и Практическое руководство. Создание параметров приложения с помощью конструктора и Практическое руководство. Создание параметров приложения с помощью конструктора.

Чтобы создать новые параметры приложения программными средствами, выполните следующие действия.

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

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

    Imports System.Configuration
    
    Public Class MyUserSettings
        Inherits ApplicationSettingsBase
        <UserScopedSetting()> _
        <DefaultSettingValue("white")> _
        Public Property BackgroundColor() As Color
            Get
                BackgroundColor = Me("BackgroundColor")
            End Get
    
            Set(ByVal value As Color)
                Me("BackgroundColor") = value
            End Set
        End Property
    End Class
    
    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 формы.

    Dim Mus As MyUserSettings
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Mus = New MyUserSettings()
        Mus.BackgroundColor = Color.AliceBlue
        Me.DataBindings.Add(New Binding("BackColor", Mus, "BackgroundColor"))
    End Sub
    
    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. Если предоставляется возможность изменения параметров во время выполнения, необходимо сохранять текущие параметры пользователя на диск при закрытии формы, иначе эти изменения будут потеряны.

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Mus.Save()
    End Sub
    
        //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();
            }
    

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

Безопасность

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

См. также

Задачи

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

Ссылки

SpecialSettingAttribute

LocalFileSettingsProvider

Основные понятия

Общие сведения о параметрах приложений