Cómo: Utilizar las propiedades Modifiers y GenerateMember

Actualización: noviembre 2007

Cuando coloca un componente en un formulario Windows Forms, el entorno de diseño proporciona dos propiedades: GenerateMember y Modifiers. La propiedad GenerateMember especifica cuándo el Diseñador de Windows Forms genera una variable miembro para un componente. La propiedad Modifiers es el modificador de acceso asignado a esa variable miembro. Si el valor de la propiedad GenerateMember es false, el valor de la propiedad Modifiers no tiene ningún efecto.

Nota:

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de la configuración activa o la edición. Para cambiar la configuración, elija la opción Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Para especificar si un componente es un miembro del formulario

  1. En el Diseñador de Windows Forms, abra el formulario.

  2. Abra el Cuadro de herramientas y, en el formulario, coloque tres controles Button.

  3. Establezca las propiedades GenerateMember y Modifiers para cada control Button según la tabla siguiente.

    Nombre de botón

    Valor de GenerateMember

    Valor de Modifiers

    button1

    true

    private

    button2

    true

    protected

    button3

    false

    Sin cambios

  4. Genere la solución.

  5. En el Explorador de soluciones, haga clic en el botón Mostrar todos los archivos.

  6. Abra el nodo Form1 y, en el Editor de código, abra el archivo Form1.Designer.vb o Form1.Designer.cs. Este archivo contiene el código emitido por el Diseñador de Windows Forms.

  7. Encuentre las declaraciones para los tres botones. En el ejemplo de código siguiente se muestran las diferencias especificadas por las propiedades GenerateMember y Modifiers.

    Private Sub InitializeComponent()
    
        ' button3 is declared in a local scope, because 
        ' its GenerateMember property is false.
        Dim button3 As System.Windows.Forms.Button
        Me.button1 = New System.Windows.Forms.Button()
        Me.button2 = New System.Windows.Forms.Button()
        button3 = New System.Windows.Forms.Button()
    
    private void InitializeComponent()
    {   
        // button3 is declared in a local scope, because 
        // its GenerateMember property is false.
        System.Windows.Forms.Button button3;
        this.button1 = new System.Windows.Forms.Button();
        this.button2 = new System.Windows.Forms.Button();
        button3 = new System.Windows.Forms.Button();
    
     ' The Modifiers property for button1 is "Private".
     Private button1 As Button
    
     ' The Modifiers property for button2 is "Protected".
     Protected button2 As Button
    
    ' button3 is not a member, because 
    ' its GenerateMember property is false.
    
    // The Modifiers property for button1 is "private".
    private Button button1;
    
    // The Modifiers property for button2 is "protected".
    protected Button button2;
    
    // button3 is not a member, because 
    // its GenerateMember property is false.
    
Nota:

De forma predeterminada, el Diseñador de Windows Forms asigna el modificador private (Friend en Visual Basic) a controles contenedores como Panel. Si el UserControl o Form base tiene un control contenedor, no aceptará nuevos elementos secundarios en controles y formularios heredados. La solución es cambiar el modificador del control contenedor base a protected o public.

Vea también

Tareas

Tutorial: Demostración de la herencia visual

Cómo: Heredar formularios Windows Forms

Referencia

Button

Otros recursos

Herencia visual de formularios Windows Forms