Procedura: utilizzare modificatori e proprietà GenerateMember

Quando si inserisce un componente in un Windows Form, vengono fornite due proprietà dall'ambiente di progettazione: GenerateMember e Modifiers. La GenerateMember proprietà specifica quando la finestra di progettazione Windows Form genera una variabile membro per un componente. La Modifiers proprietà è il modificatore di accesso assegnato a tale variabile membro. Se il valore della GenerateMember proprietà è false, il valore della Modifiers proprietà non ha alcun effetto.

Specificare se un componente è un membro del modulo

  1. In Visual Studio aprire il modulo nella finestra di progettazione Windows Form.

  2. Aprire la casella degli strumenti e, nel form, posizionare tre Button controlli.

  3. Impostare le GenerateMember proprietà e Modifiers per ogni Button controllo in base alla tabella seguente.

    Nome del pulsante Valore GenerateMember Valore dei modificatori
    button1 true private
    button2 true protected
    button3 false Nessuna modifica
  4. Compilare la soluzione.

  5. In Esplora soluzioni fare clic sul pulsante Mostra tutti i file.

  6. Aprire il nodo Form1 e nell'editor di codice aprire il file Form1.Designer.vb o Form1.Designer.cs. Questo file contiene il codice generato dalla finestra di progettazione Windows Form.

  7. Trovare le dichiarazioni per i tre pulsanti. Nell'esempio di codice seguente vengono illustrate le differenze specificate dalle GenerateMember proprietà e 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

Per impostazione predefinita, progettazione Windows Form assegna il private modificatore (Friend in Visual Basic) ai controlli contenitore come Panel. Se la base UserControl o Form ha un controllo contenitore, non accetterà nuovi elementi figlio in controlli e moduli ereditati. La soluzione consiste nel modificare il modificatore del controllo contenitore di base in protected o public.

Vedi anche