Freigeben über


Exemplarische Vorgehensweise: Demonstrieren der visuellen Vererbung

Mit visueller Vererbung können Sie die Steuerelemente auf dem Basisformular anzeigen und neue Steuerelemente hinzufügen. In diesem Leitfaden 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 Sie ein Klassenbibliotheksprojekt, das ein Basisformular enthält.

  • Fügen Sie eine Schaltfläche mit Eigenschaften hinzu, die von abgeleiteten Klassen der Basisform geändert werden können.

  • Fügen Sie eine Schaltfläche hinzu, die nicht von Erben des Basisformulars 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.

Vorsicht

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

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

Ein Klassenbibliotheksprojekt erstellen, das ein Basisformular enthält.

  1. Wählen Sie in Visual Studio aus dem Menü Datei die Option Neu>Projekt, 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 Alles speichern, um das Projekt und die Dateien am Standardspeicherort zu speichern.

Die nächsten beiden Prozeduren fügen dem Basisformular Schaltflächen hinzu. Zur Demonstration der visuellen Vererbung weisen Sie den Schaltflächen verschiedene Zugriffsebenen zu, indem Sie ihre ModifiersEigenschaften festlegen.

Fügen Sie eine Schaltfläche hinzu, die von den 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 Schaltfläche zu positionieren und die Größe zu ändern.

  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. Dadurch wird es möglich, dass Formulare, die von Form1 erben, die Eigenschaften von btnProtectedä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 die folgende Codezeile hinzu:

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

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

  1. Wechseln Sie zur Entwurfsansicht, indem Sie über dem Code-Editor auf die Registerkarte Form1.vb [Entwurf], Form1.cs [Entwurf], oder Form1.jsl [Entwurf] klicken oder F7 drücken.

  2. Fügen Sie eine zweite Schaltfläche hinzu, und legen Sie dessen 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. Dadurch ist es für Formulare, die von Form1- erben, unmöglich, die Eigenschaften von btnPrivate-zu ä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 vom soeben erstellten Formular erbt.

Erstellen Sie ein Projekt mit einem Formular, 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 Forms aus (wenn Sie über eine Liste von Kategorien verfügen), 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 BaseFormLibraryabgeleitet wird.

  5. Öffnen Sie das geerbte Formular (Form2) im Designer, indem Sie darauf doppelklicken, wenn es noch nicht geöffnet ist.

    Im Designer verfügen die geerbten Schaltflächen über ein Symbol (Screenshot des Visual Basic-Vererbungssymbols.) oben in der Ecke, das angibt, dass sie geerbt sind.

  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, die Größe ändern, die 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. Darüber hinaus sind die Eigenschaften dieser Schaltfläche im fenster Eigenschaften grau dargestellt, um anzugeben, dass sie nicht geändert werden können.

  8. Wenn Sie Visual C# verwenden:

    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 im angezeigten Meldungsfeld auf OK, um den Löschvorgang zu bestätigen.

    2. Öffnen Sie die Program.cs Datei, 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 die Steuerungselemente 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 die Inherits (: in Visual C#)-Anweisung. Weitere Informationen finden Sie unter Vorgehensweise: Erben von Windows Forms.

Siehe auch