Cómo: Crear la configuración de la aplicación
Mediante el código administrado, puede crear nuevas configuraciones de la aplicación y puede enlazarlas a las propiedades o controles del formulario, de modo que estas configuraciones 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 obtener más información, vea Cómo: Crear una configuración de aplicación mediante el diseñador y Cómo: Crear una configuración de aplicación mediante el diseñador y Cómo: Crear una configuración de aplicación mediante el diseñador y Cómo: Crear una configuración de aplicación mediante el diseñador y Cómo: Crear una configuración de aplicación mediante el diseñador.
Para crear una nueva configuración de la aplicación mediante programación
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.
Defina una propiedad en esta clase contenedora para cada configuración de la aplicación necesaria 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 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; } } }
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 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")); }
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
//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(); }
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 de acceso a archivos proporcionada por el sistema operativo para el usuario actual. Por 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 el almacenamiento de cadenas de conexión que señalan al almacén de datos de la aplicación. Sin embargo, por motivos de seguridad, estas cadenas no deben 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