Exemplarische Vorgehensweise: Demonstrieren der visuellen Vererbung

Mit visueller Vererbung können Sie die Steuerelemente auf dem Basisformular anzeigen und neue Steuerelemente hinzufügen. In dieser exemplarischen Vorgehensweise erstellen Sie ein Basisformular und kompilieren es in eine Klassenbibliothek. Sie importieren diese Klassenbibliothek in ein anderes Projekt und erstellen ein neues Formular, das vom Basisformular erbt. Bei dieser exemplarischen Vorgehensweise lernen Sie Folgendes:

  • Erstellen eines Klassenbibliotheksprojekts, das ein Basisformular enthält.

  • Hinzufügen einer Schaltfläche mit Eigenschaften, die abgeleitete Klassen des Basisformulars ändern können.

  • Hinzufügen einer Schaltfläche, die von Erben des Basisformulars nicht geändert werden kann.

  • Erstellen eines Projekts, das ein Formular enthält, das von BaseForm erbt.

Schließlich wird in dieser exemplarischen Vorgehensweise der Unterschied zwischen privaten und geschützten Steuerelementen in einem geerbten Formular gezeigt.

Achtung

Nicht alle Steuerelemente unterstützen visuelle Vererbung von einem Basisformular. Die folgenden Steuerelemente unterstützen das in dieser exemplarischen Vorgehensweise beschriebene Szenario nicht:

Diese Steuerelemente im geerbten Formular sind immer schreibgeschützt, unabhängig von den verwendeten Modifizierern (private, protected oder public).

Erstellen eines Klassenbibliotheksprojekts, das ein Basisformular enthält

  1. Wählen Sie in Visual Studio im Menü Datei die Option Neu>Projekt aus, um das Dialogfeld Neues Projekt zu öffnen.

  2. Erstellen Sie eine Windows Forms-Anwendung mit dem Namen BaseFormLibrary.

  3. Um anstelle einer Windows Forms-Standardanwendung eine Klassenbibliothek zu erstellen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten BaseFormLibrary und wählen anschließend Eigenschaften aus.

  4. Ändern Sie in den Eigenschaften für das Projekt den Ausgabetyp von Windows-Anwendung in Klassenbibliothek.

  5. Wählen Sie im Menü Datei die Option Alle speichern aus, um das Projekt und die Dateien am Standardspeicherort zu speichern.

Mit den nächsten zwei Verfahren werden dem Basisformular Schaltflächen hinzugefügt. Zur Demonstration der visuellen Vererbung weisen Sie den Schaltflächen verschiedene Zugriffsebenen zu, indem Sie ihre ModifiersEigenschaften festlegen.

Hinzufügen einer Schaltfläche, die von Erben des Basisformulars geändert werden kann

  1. Öffnen Sie Form1 im Designer.

  2. Doppelklicken Sie auf der Registerkarte Alle Windows-Formulare der Toolbox auf Schaltfläche, um dem Formular eine Schaltfläche hinzuzufügen. Verwenden Sie die Maus, um die Position und Größe der Schaltfläche anzupassen.

  3. Legen Sie im "Eigenschaftenfenster" die folgenden Eigenschaften der Schaltfläche fest:

    • Legen Sie die Eigenschaft Text auf Say Hello fest.

    • Legen Sie die Eigenschaft (Name) auf btnProtected fest.

    • Legen Sie die Eigenschaft Modifiers auf Protected fest. Dies ermöglicht es Formularen, die von Form1 erben, die Eigenschaften von btnProtected zu ändern.

  4. Doppelklicken Sie auf die Schaltfläche Say Hello, um einen Ereignishandler für das Ereignis Click hinzuzufügen.

  5. Fügen Sie dem Ereignishandler folgende Codezeile hinzu:

    MessageBox.Show("Hello, World!")
    
    MessageBox.Show("Hello, World!");
    

Hinzufügen einer Schaltfläche, die von Erben des Basisformulars nicht geändert werden kann

  1. Wechseln Sie in die Entwurfsansicht, indem Sie auf die Registerkarte Form1.vb [Entwurf], Form1.cs [Entwurf] oder Form1.jsl [Entwurf] oberhalb des Code-Editors klicken oder F7 drücken.

  2. Fügen Sie eine zweite Schaltfläche hinzu, und legen Sie deren Eigenschaften wie folgt fest:

    • Legen Sie die Eigenschaft Text auf Say Goodbye fest.

    • Legen Sie die Eigenschaft (Name) auf btnPrivate fest.

    • Legen Sie die Eigenschaft Modifiers auf Private fest. Dies verhindert, dass Formulare, die von Form1 erben, die Eigenschaften von btnPrivate ändern.

  3. Doppelklicken Sie auf die Schaltfläche Say Goodbye, um einen Ereignishandler für das Ereignis Click hinzuzufügen. Platzieren Sie die folgende Codezeile in der Ereignisprozedur:

    MessageBox.Show("Goodbye!")
    
    MessageBox.Show("Goodbye!");
    
  4. Wählen Sie im Menü Erstellen die Option BaseForm-Bibliothek erstellen aus, um die Klassenbibliothek zu erstellen.

    Nachdem die Bibliothek erstellt wurde, können Sie ein neues Projekt erstellen, das von dem Formular erbt, das Sie gerade erstellt haben.

Erstellen eines Projekts, das ein Formular enthält, das vom Basisformular erbt

  1. Wählen Sie im Menü Datei die Optionen Hinzufügen und dann Neues Projekt aus, um das Dialogfeld Neues Projekt hinzufügen zu öffnen.

  2. Erstellen Sie eine Windows Forms-Anwendung mit dem Namen InheritanceTest.

Hinzufügen eines geerbten Formulars

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt InheritanceTest, und wählen Sie Hinzufügen und dann Neues Element aus.

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Kategorie Windows-Formulare aus ( falls eine Kategorieliste vorhanden ist), und wählen Sie dann die Vorlage Geerbtes Formular aus.

  3. Übernehmen Sie den Standardnamen Form2, und klicken Sie auf Hinzufügen.

  4. Wählen Sie im Dialogfeld Vererbungsauswahl das Formular Form1 aus dem Projekt BaseFormLibrary als das Formular aus, von dem geerbt werden soll, und klicken Sie auf OK.

    Dadurch wird ein Formular im Projekt InheritanceTest erstellt, das vom Formular in BaseFormLibrary abgeleitet ist.

  5. Öffnen Sie das geerbte Formular (Form2) per Doppelklick im Designer, falls es nicht bereits geöffnet ist.

    Im Designer werden die geerbten Schaltflächen mit einem Symbol (Screenshot of the Visual Basic inheritance symbol.) in der oberen Ecke versehen, um anzuzeigen, dass sie geerbt wurden.

  6. Klicken Sie auf die Schaltfläche Say Hello, und beachten Sie die Ziehpunkte für die Größenänderung. Da diese Schaltfläche geschützt ist, können die Erben sie verschieben, ihre Größe ändern, ihre Beschriftung ändern und andere Änderungen vornehmen.

  7. Klicken Sie auf die private Schaltfläche Say Goodbye. Beachten Sie, dass diese Schaltfläche keine Ziehpunkte zur Größenänderung aufweist. Außerdem werden die Eigenschaften dieser Schaltfläche im Fenster Eigenschaften abgeblendet dargestellt, um anzuzeigen, dass sie nicht geändert werden können.

  8. Bei Verwendung von Visual C#:

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste im Projekt InheritanceTest auf Form1, und wählen Sie dann Löschen aus. Klicken Sie in dem angezeigten Meldungsfeld auf OK, um den Löschvorgang zu bestätigen.

    2. Öffnen Sie die Datei "Program.cs", und ändern Sie die Zeile Application.Run(new Form1()); in Application.Run(new Form2());.

  9. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt InheritanceTest, und wählen Sie Als Startprojekt festlegen aus.

  10. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt InheritanceTest, und wählen Sie Eigenschaften aus.

  11. Legen Sie auf den Eigenschaftsseiten von InheritanceTest das Startobjekt als geerbte Formular (Form2) fest.

  12. Drücken Sie F5, um die Anwendung auszuführen, und beobachten Sie das Verhalten des geerbten Formulars.

Nächste Schritte

Die Vererbung bei Benutzersteuerelementen funktioniert größtenteils auf die gleiche Weise. Öffnen Sie ein neues Klassenbibliotheksprojekt, und fügen Sie ein Benutzersteuerelement hinzu. Platzieren Sie konstituierende Steuerelemente darauf, und kompilieren Sie das Projekt. Öffnen Sie ein weiteres, neues Klassenbibliotheksprojekt, und fügen Sie einen Verweis auf die kompilierte Klassenbibliothek hinzu. Versuchen Sie außerdem, dem Projekt ein geerbtes Steuerelement hinzuzufügen (über das Dialogfeld Neue Elemente hinzufügen) sowie die Vererbungsauswahl zu verwenden. Fügen Sie ein Benutzersteuerelement hinzu, und ändern Sie Inherits-Anweisung (: in Visual C#). Weitere Informationen finden Sie unter Vorgehensweise: Erben von Windows Forms.

Siehe auch