Compartilhar via


Como: Criar configurações do aplicativo

Usando código gerenciado, você pode criar novas configurações do aplicativo e vinculá-las a propriedades do seu formulário ou dos controles do seu formulário, para que essas configurações sejam carregadas e salvas automaticamente em tempo de execução.

No procedimento o seguir, você criar manualmente uma classe envoltório que é deriva de ApplicationSettingsBase. Adicione a esta classe uma propriedade acessível publicamente para cada configuração do aplicativo que você deseja expor.

Você também pode executar esse procedimento usando o mínimo de código no designer do Visual Studio. Para obter mais informações, consulte Como: Criar configurações do aplicativo com o designer e Como: Criar configurações do aplicativo com o designer e Como: Criar configurações do aplicativo com o designer e Como: Criar configurações do aplicativo usando o Designer e Como: Criar configurações do aplicativo usando o Designer e Como criar configurações do aplicativo usando o designer.

Para criar novas configurações do aplicativo por meio de programação

  1. Adicione uma nova classe ao seu projeto e Renomeie-a. Para este procedimento, chamaremos a classe de MyUserSettings. Altere o definição de classe para que a classe derive de ApplicationSettingsBase.

  2. Definir uma propriedade nesta classe envoltório para cada configuração de aplicativo precisar, e aplique essa propriedade ou com ApplicationScopedSettingAttribute ou com UserScopedSettingAttribute, depending on o escopo da configuração. Para obter mais informações sobre o escopo das configurações, consulte Visão Geral Sobre Configurações do Aplicativo. Por enquanto, seu código deve ser assim:

    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. Crie uma instância dessa classe envoltório no seu aplicativo. Ele será normalmente um membro privado do formulário principal. Agora que você definiu sua classe, você precisa vinculá-la a uma propriedade; neste caso, a propriedade BackColor de seu formulário. Você pode fazer isso no manipulador de eventos Load seu formulário.

    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. Se você fornecer uma maneira para alterar as configurações em tempo de execução, você precisará salvar as configurações atuais do usuário no disco quando seu formulário for fechado, senão estas alterações serão perdidas.

    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();
            }
    

    Você criou com êxito uma nova configuração do aplicativo e vinculou-a à propriedade especificada.

Segurança

O provedor de configurações padrão, LocalFileSettingsProvider, mantém em disco informações de arquivos de configuração como texto sem-formatação. Isso limita a segurança de acesso a arquivos fornecida pelo sistema operacional para o usuário atual. Por isto, deve-s ter cuidado com as informações armazenadas em arquivos de configuração. Por exemplo, um uso comum para configurações de aplicativo é para armazenar strings de conexão que apontem para o armazenamento de dados do aplicativo. No entanto, por causa de preocupações com segurança, essas sequências de caracteres não devem incluir senhas. Para obter mais informações sobre strings de conexão, consulte SpecialSetting.

Consulte também

Tarefas

Como: Validar configurações de aplicativo

Referência

SpecialSettingAttribute

LocalFileSettingsProvider

Conceitos

Visão Geral Sobre Configurações do Aplicativo