Gewusst wie: Erben von vorhandenen Windows Forms-Steuerelementen

Wenn Sie die Funktionalität eines vorhandenen Steuerelements erweitern möchten, können Sie ein Steuerelement erstellen, dass durch Vererbung von einem vorhandenen Steuerelement abgeleitet ist. Beim Erben von einem vorhandenen Steuerelement erben Sie die gesamte Funktionalität und die visuellen Eigenschaften dieses Steuerelements. Wenn Sie z. B. ein Steuerelement erstellt haben, dass von Button geerbt wird, weist das neue Steuerelement das gleiche Verhalten und Aussehen wie ein standardmäßiges Button-Steuerelement auf. Sie können die Funktionalität Ihres neuen Steuerelements durch Implementieren von benutzerdefinierten Methoden und Eigenschaften erweitern oder ändern. Bei einigen Steuerelementen können Sie durch Überschreiben der Methode OnPaint auch die visuelle Darstellung des geerbten Steuerelements verändern.

So erstellen Sie ein geerbtes Steuerelement

  1. Erstellen Sie in Visual Studio ein neues Projekt für eine Windows Forms-Anwendung.

  2. Wählen Sie im Menü Projekt die Option Neues Element hinzufügen aus.

    Das Dialogfeld Neues Element hinzufügen wird angezeigt.

  3. Doppelklicken Sie im Dialogfeld Neues Element hinzufügen auf Benutzerdefiniertes Steuerelement.

    Ein neues benutzerdefiniertes Steuerelement wird zu Ihrem Projekt hinzugefügt.

  4. Gehen Sie abhängig von der verwendeten Sprache wie folgt vor:

    • Visual Basic: Klicken Sie am Anfang des Projektmappen-Explorers auf Alle Dateien anzeigen. Erweitern Sie „CustomControl1.vb“ und öffnen Sie „CustomControl1.Designer.vb“ im Code-Editor.
    • C#: Öffnen Sie „CustomControl1.cs“ im Code-Editor.
  5. Suchen Sie die Klassendeklaration, die von Control geerbt wird.

  6. Ändern Sie die Basisklasse in das Steuerelement, von dem Sie erben möchten.

    Wenn Sie z. B. von Button erben möchten, ändern Sie die Klassendeklaration wie folgt:

    Partial Class CustomControl1
        Inherits System.Windows.Forms.Button
    
    public partial class CustomControl1 : System.Windows.Forms.Button
    
  7. Wenn Sie Visual Basic verwenden, speichern und schließen Sie „CustomControl1.Designer.vb“. Öffnen Sie „CustomControl1.vb“ im Code-Editor.

  8. Implementieren Sie alle benutzerdefinierten Methoden oder Eigenschaften, die in das Steuerelement eingebunden werden sollen.

  9. Wenn Sie die grafische Darstellung des Steuerelements ändern möchten, überschreiben Sie die Methode OnPaint.

    Hinweis

    Wenn Sie OnPaint überschreiben, können Sie nicht die Darstellung aller Steuerelemente ändern. Steuerelemente, deren Darstellung von Windows festgelegt wird (z. B. TextBox), rufen niemals die OnPaint-Methode auf und verwenden daher niemals den benutzerdefinierten Code. Anhand der Hilfedokumentation für das jeweilige Steuerelement, das Sie ändern möchten, können Sie feststellen, ob die Methode OnPaint verfügbar ist. Eine Liste aller Windows Form-Steuerelemente finden Sie unter Steuerelemente für Windows Forms. Wenn bei einem Steuerelement OnPaint nicht als Membermethode aufgelistet ist, können Sie die Darstellung nicht durch Überschreiben dieser Methode ändern. Weitere Informationen über benutzerdefinierte Darstellung finden Sie unter Zeichnen und Ausgeben von benutzerdefinierten Steuerelementen.

    Protected Overrides Sub OnPaint(ByVal e As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(e)
       ' Insert code to do custom painting.
       ' If you want to completely change the appearance of your control,
       ' do not call MyBase.OnPaint(e).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       base.OnPaint(pe);
       // Insert code to do custom painting.
       // If you want to completely change the appearance of your control,
       // do not call base.OnPaint(pe).
    }
    
  10. Speichern und testen Sie das Steuerelement.

Weitere Informationen