Compartir a través de


Cómo: Crear la configuración de la aplicación

Actualización: noviembre 2007

Mediante el código administrado, puede crear nuevos valores de configuración de la aplicación y puede enlazarlos a las propiedades o controles del formulario, de modo que estos valores se carguen y se guarden automáticamente en tiempo de ejecución.

En el procedimiento siguiente, puede crear manualmente una clase contenedora que deriva de ApplicationSettingsBase. Agregue a esta clase una propiedad públicamente accesible para cada configuración de la aplicación que desea exponer.

También puede realizar este procedimiento utilizando el mínimo de código en el diseñador de Visual Studio.

Para crear una nueva configuración de la aplicación mediante programación

  1. Agregue una nueva clase a su proyecto y cámbiele el nombre. Para este procedimiento, se debe llamar a esta clase MyUserSettings. Cambie la definición de clase para que la clase derive de ApplicationSettingsBase.

  2. Defina una propiedad en esta clase contenedora para cada valor de configuración de la aplicación necesario y aplique esa propiedad con ApplicationScopedSettingAttribute o UserScopedSettingAttribute dependiendo del ámbito de la configuración. Para obtener más información sobre la configuración del ámbito, vea Introducción a la configuración de la aplicación. Ahora el código debería tener esta apariencia:

    Imports System.Configuration
    
    Public Class MyAppSettings
        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. Cree una instancia de esta clase contenedora en la aplicación. Normalmente será un miembro privado del formulario principal. Ahora que ha definido la clase, necesita enlazarlo a una propiedad; en este caso, la propiedad BackColor del formulario. Puede lograr esto en el controlador de eventos de su formulario Load .

    Dim Mus As MyAppSettings
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Mus = New MyAppSettings()
        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. Si proporciona una manera de cambiar la configuración en tiempo de ejecución, necesitará guardar en el disco la configuración actual del usuario cuando cierre el formulario, o de otro modo se perderán estos cambios.

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Mus.Save()
    End Sub
    

    Ahora ha creado correctamente una nueva configuración de la aplicación y la ha enlazado a la propiedad especificada.

Seguridad

El proveedor de configuración predeterminada, LocalFileSettingsProvider, guarda la información en los archivos de configuración como texto sin formato. Esto limita la seguridad a la seguridad de acceso a archivos proporcionada por el sistema operativo para el usuario actual. Debido a esto, se debe tener cuidado con la información almacenada en los archivos de configuración. Por ejemplo, un uso común de la configuración de la aplicación es almacenar cadenas de conexión que señalan al almacén de datos de la aplicación. Sin embargo, debido a aspectos relacionados con la seguridad, tales cadenas no deberían incluir contraseñas. Para obtener más información sobre cadenas de conexión, vea SpecialSetting.

Vea también

Tareas

Cómo: Validar la configuración de la aplicación

Conceptos

Introducción a la configuración de la aplicación

Referencia

SpecialSettingAttribute

LocalFileSettingsProvider