Freigeben über


Vorgehensweise: Verwenden der Modifizierer und GenerateMember-Eigenschaften

Wenn Sie eine Komponente auf einem Windows Form platzieren, werden zwei Eigenschaften von der Entwurfsumgebung bereitgestellt: GenerateMember und Modifiers. Die GenerateMember Eigenschaft gibt an, wann der Windows Forms-Designer eine Membervariable für eine Komponente generiert. Die Modifiers Eigenschaft ist der Zugriffsmodifizierer, der dieser Membervariable zugewiesen ist. Wenn der Wert der GenerateMember Eigenschaft lautet false, hat der Wert der Modifiers Eigenschaft keine Auswirkung.

Angeben, ob eine Komponente ein Element des Formulars ist

  1. Öffnen Sie in Visual Studio im Windows Forms-Designer Ihr Formular.

  2. Öffnen Sie die Toolbox, und platzieren Sie im Formular drei Button Steuerelemente.

  3. Legen Sie die Eigenschaften für jedes GenerateMember Steuerelement gemäß der folgenden Tabelle fest, indem Sie die Modifiers und Button Eigenschaften anpassen.

    Schaltflächenname GenerateMember-Wert Wert des Modifizierers
    button1 true private
    button2 true protected
    button3 false Keine Änderung
  4. Erstellen Sie die Lösung.

  5. Klicken Sie im Projektmappen-Explorer auf die Schaltfläche "Alle Dateien anzeigen ".

  6. Öffnen Sie den Knoten "Form1 ", und öffnen Sie im Code-Editor die datei "Form1.Designer.vb" oder "Form1.Designer.cs ". Diese Datei enthält den vom Windows Forms-Designer ausgegebenen Code.

  7. Suchen Sie die Deklarationen für die drei Schaltflächen. Das folgende Codebeispiel zeigt die Unterschiede, die durch die Eigenschaften GenerateMember und Modifiers angegeben sind.

    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.
    

Hinweis

Standardmäßig weist der Windows Forms-Designer Containersteuerelementen den Modifizierer private (Friend in Visual Basic) wie Panel zu. Wenn Ihre Basis UserControl oder Form ein Containersteuerelement besitzt, akzeptiert sie keine neuen Kinder in geerbten Steuerelementen und Formularen. Die Lösung besteht darin, das Änderungskennzeichen des Steuerelements des Basiscontainers in protected oder public zu ändern.

Siehe auch