Compartir a través de


Configuración de la aplicación para controles personalizados

Debe completar determinadas tareas para proporcionar a los controles personalizados la capacidad de conservar la configuración de la aplicación cuando los controles se hospedan en aplicaciones de terceros.

La mayoría de la documentación sobre la característica Configuración de la aplicación se escribe en la suposición de que está creando una aplicación independiente. Sin embargo, si va a crear un control que otros desarrolladores hospedarán en sus aplicaciones, debe realizar algunos pasos adicionales para que el control conserve correctamente su configuración.

Configuración de la aplicación y controles personalizados

Para que el control conserve correctamente su configuración, debe encapsular el proceso mediante la creación de su propia clase contenedora de configuración de aplicaciones dedicadas, derivada de ApplicationSettingsBase. Además, la clase de control principal debe implementar .IPersistComponentSettings La interfaz contiene varias propiedades, así como dos métodos, LoadComponentSettings y SaveComponentSettings. Si agrega el control a un formulario mediante el Diseñador de Windows Forms en Visual Studio, Windows Forms llamará a LoadComponentSettings automáticamente cuando el control se inicialice; debe llamar a SaveComponentSettings usted mismo en el método Dispose de su control.

Además, debe implementar lo siguiente para que la configuración de la aplicación permita que los controles personalizados funcionen correctamente en entornos de tiempo de diseño, como Visual Studio.

  1. Una clase de configuración de aplicación personalizada con un constructor que toma como IComponent un único parámetro. Use esta clase para guardar y cargar toda la configuración de la aplicación. Al crear una nueva instancia de esta clase, pase el control personalizado mediante el constructor .

  2. Cree esta clase de configuración personalizada después de que el control se haya creado y colocado en un formulario, como en el controlador de eventos del Load formulario.

Para obtener instrucciones sobre cómo crear una clase de configuración personalizada, consulte How to: Create Application Settings.

Claves de configuración y configuración compartida

Algunos controles se pueden usar varias veces dentro del mismo formulario. La mayoría de las veces, querrá que estos controles conserven su propia configuración individual. Con la SettingsKey propiedad en IPersistComponentSettings, puede proporcionar una cadena única que actúe para desambiguar varias versiones de un control en un formulario.

La manera más sencilla de implementar SettingsKey es usar la Name propiedad del control para .SettingsKey Al cargar o guardar la configuración del control, se pasa el valor de SettingsKey en a la SettingsKey propiedad de la ApplicationSettingsBase clase . La configuración de la aplicación usa esta clave única cuando conserva la configuración del usuario en XML. En el ejemplo de código siguiente se muestra cómo una <userSettings> sección puede buscar una instancia de un control personalizado denominado CustomControl1 que guarda una configuración para su Text propiedad.

<userSettings>
    <CustomControl1>
        <setting name="Text" serializedAs="string">
            <value>Hello, World</value>
        </setting>
    </CustomControl1>
</userSettings>

Cualquier instancia de un control que no proporcione un valor para SettingsKey compartirá la misma configuración.

Consulte también