Share via


Procedimiento para usar las propiedades Modifiers y GenerateMember

Al colocar un componente en un formulario de 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.

Cómo especificar si un componente es miembro del formulario

  1. En Visual Studio, 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 de cada control Button según la tabla siguiente.

    Nombre del botón Valor de GenerateMember Valor de Modifiers
    button1 true private
    button2 true protected
    button3 false Sin cambios
  4. Compile 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 que ha emitido el Diseñador de Windows Forms.

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

    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();
    
    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()
    
    // 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.
    
     ' 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.
    

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 objeto UserControl o Form base tiene un control contenedor, no aceptará nuevos elementos secundarios en los controles y formularios heredados. La solución consiste en cambiar el modificador del control contenedor base a protected o public.

Consulte también