Exemplarische Vorgehensweise: Demonstrieren der visuellen Vererbung

Aktualisiert: September 2010

Mit der visuellen Vererbung können Sie die Steuerelemente im Basisformular anzeigen und neue Steuerelemente hinzufügen. In dieser exemplarischen Vorgehensweise werden Sie ein Basisformular erstellen und es in eine Klassenbibliothek kompilieren. Diese Klassenbibliothek importieren Sie in ein anderes Projekt und erstellen ein neues Formular, das von dem Basisformular erbt. In dieser exemplarischen Vorgehensweise werden folgende Aufgaben beschrieben:

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

  • Hinzufügen einer Schaltfläche mit Eigenschaften, die von abgeleiteten Klassen des Basisformulars geändert werden können.

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

  • Erstellen eines Projekts mit einem Formular, das von BaseForm erbt.

Darüber hinaus lernen Sie in dieser Vorgehensweise den Unterschied zwischen privaten und geschützten Steuerelementen in einem geerbten Formular kennen.

Tipp

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Warnung

Die visuelle Vererbung von einem Basisformular wird nicht von allen Steuerelementen unterstützt. Die folgenden Steuerelemente unterstützen das in dieser exemplarischen Vorgehensweise beschriebene Szenario nicht:

    WebBrowser

    ToolStrip

    ToolStripPanel

    TableLayoutPanel

    FlowLayoutPanel

    DataGridView

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

Szenarioschritte

Zunächst muss ein Basisformular erstellt werden.

So erstellen Sie ein Klassenbibliotheksprojekt, das ein Basisformular enthält

  1. Wählen Sie im Menü Datei die Option Neu, und klicken Sie auf Projekt, um das Dialogfeld Neues Projekt zu öffnen.

  2. Erstellen Sie eine Windows Forms-Anwendung mit dem Namen BaseFormLibrary. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines neuen Windows Forms-Anwendungsprojekts.

  3. Wenn Sie eine Klassenbibliothek anstelle einer Windows Forms-Standardanwendung erstellen möchten, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten BaseFormLibrary, und wählen Sie Eigenschaften aus.

  4. Ändern Sie in den Projekteigenschaften den Ausgabetyp von Windows-Anwendung in Klassenbibliothek.

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

In den beiden folgenden Schrittanweisungen werden dem Basisformular Schaltflächen hinzugefügt. Zur Demonstration der visuellen Vererbung weisen Sie den Schaltflächen verschiedene Zugriffsebenen zu, indem Sie ihre Modifiers-Eigenschaften festlegen.

So fügen Sie eine Schaltfläche hinzu, die von Erben des Basisformulars geändert werden kann

  1. Öffnen Sie Form1 im Designer.

  2. Doppelklicken Sie auf der Registerkarte Alle Windows Forms der Toolbox auf Schaltfläche, um eine Schaltfläche in das Formular einzufügen. Verwenden Sie die Maus, um die Schaltfläche zu positionieren und ihre Größe zu ändern.

  3. Richten Sie im Eigenschaftenfenster die folgenden Eigenschaften für die Schaltfläche ein:

    • Geben Sie für die Text-Eigenschaft Hello an.

    • Legen Sie für die (Name)-Eigenschaft den Wert btnProtected fest.

    • Legen Sie für die Modifiers-Eigenschaft den Wert Protected fest. Dadurch können in Formularen, die von Form1 erben, die Eigenschaften von btnProtected geändert werden.

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

  5. Fügen Sie dem Ereignishandler folgenden Code hinzu.

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

So fügen Sie eine Schaltfläche hinzu, die nicht von Erben des Basisformulars 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] über dem Code-Editor klicken oder F7 drücken.

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

    • Geben Sie für die Text-Eigenschaft Goodbye an.

    • Legen Sie für die (Name)-Eigenschaft den Wert btnPrivate fest.

    • Legen Sie für die Modifiers-Eigenschaft den Wert Private fest. Dadurch ist es in Formularen, die von Form1 erben, nicht möglich, die Eigenschaften von btnPrivate zu ändern.

  3. Doppelklicken Sie auf die Schaltfläche Goodbye, um einen Ereignishandler für das Click-Ereignis hinzuzufügen. Fügen Sie der Ereignisprozedur folgenden Code hinzu:

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

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

So erstellen Sie ein Projekt mit einem Formular, das vom Basisformular erbt

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

  2. Erstellen Sie eine Windows Forms-Anwendung mit dem Namen InheritanceTest. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines neuen Windows Forms-Anwendungsprojekts.

So fügen Sie ein geerbtes Formular hinzu

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

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Kategorie Windows Forms aus (wenn eine Liste von Kategorien vorhanden ist), und wählen Sie anschließend die Vorlage Inherited Form aus.

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

  4. Das Formular, von dem geerbt werden soll, geben Sie im Dialogfeld Vererbungsauswahl mit Form1 aus dem BaseFormLibrary-Projekt an und klicken auf OK.

    Dadurch wird ein Formular im InheritanceTest-Projekt erstellt, das von dem Formular in BaseFormLibrary abgeleitet wird.

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

    Die geerbten Schaltflächen werden im Designer mit einem Symbol (VisualBasicInheritanceSymbol-Bildschirmabbildung) in der oberen Ecke angezeigt.

  6. Wählen Sie die Schaltfläche Hello, und achten Sie auf die Handles zum Ändern der Größe. Da diese Schaltfläche geschützt ist, können die Erben sie verschieben, ihre Größe oder Beschriftung ändern und andere Änderungen vornehmen.

  7. Wählen Sie die private Schaltfläche Goodbye aus. Sie werden feststellen, dass sie keine Handles zum Ändern der Größe besitzt. Darüber hinaus werden die Eigenschaften dieser Schaltfläche im Eigenschaftenfenster grau unterlegt, um zu verdeutlichen, dass sie nicht geändert werden können.

  8. Bei Verwendung von Visual C#:

    1. Klicken Sie im Projektmappen-Explorer im Projekt InheritanceTest mit der rechten Maustaste auf Form1, und klicken Sie dann auf Löschen. Ein Meldungsfeld wird angezeigt. Klicken Sie 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 klicken Sie auf Als Startprojekt festlegen.

  10. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt InheritanceTest, und klicken Sie auf Eigenschaften.

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

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

Nächste Schritte

Die Vererbung von Benutzersteuerelementen funktioniert ähnlich. Öffnen Sie ein neues Klassenbibliotheksprojekt, und fügen Sie ein Benutzersteuerelement hinzu. Fügen Sie konstituierende Steuerelemente ein, 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 (über das Dialogfeld Neues Element hinzufügen) hinzuzufügen, und verwenden Sie das Dialogfeld Vererbungsauswahl. Fügen Sie ein Benutzersteuerelement hinzu, und ändern Sie die Inherits-Anweisung (: in Visual C#). Weitere Informationen finden Sie unter Gewusst wie: Erben von Windows Forms.

Siehe auch

Aufgaben

Gewusst wie: Erben von Windows Forms

Referenz

Dialogfeld "Vererbungsauswahl"

Exemplarische Vorgehensweisen für Windows Forms

Weitere Ressourcen

Visuelle Vererbung in Windows Forms

Windows Forms

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

September 2010

Korrekturen in einem Schritt vorgenommen.

Kundenfeedback.