Gewusst wie: Erben von vorhandenen Windows Forms-Steuerelementen

Aktualisiert: November 2007

Wenn die Funktionalität eines vorhandenen Steuerelements erweitert werden soll, kann ein Steuerelement erstellt werden, das durch Vererbung von einem vorhandenen Steuerelement abgeleitet ist. Mit einem vorhandenen Steuerelement werden die gesamte Funktionalität und die visuellen Eigenschaften dieses Steuerelements geerbt. Wenn beispielsweise ein Steuerelement erstellt wird, das von Button geerbt wird, wird das neue Steuerelement ebenso dargestellt wie ein standardmäßiges Button-Steuerelement und wird sich ebenso verhalten. Anschließend kann die Funktionalität des neuen Steuerelements durch Implementierung benutzerdefinierter Methoden und Eigenschaften erweitert oder geändert werden. Bei einigen Steuerelementen kann auch die visuelle Darstellung des geerbten Steuerelements geändert werden, indem die OnPaint-Methode überschrieben wird.

Hinweis:

Je nach den aktiven Einstellungen oder der verwendeten Version können die angezeigten Dialogfelder und Menübefehle von den in der Hilfe beschriebenen abweichen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

So erstellen Sie ein geerbtes Steuerelement

  1. Erstellen Sie ein neues Windows-Projekt.

    Dieses Projekt kann einen beliebigen Typ aufweisen, z. B. ein Windows-Anwendung-Projekt oder ein Windows-Steuerelementbibliothek-Projekt. Wenn Sie Windows-Steuerelementbibliothek wählen, können Sie das bereitgestellte leere Steuerelement verwenden und die Schritte 2 und 3 überspringen.

  2. Klicken Sie im Menü Projekt auf Benutzersteuerelement hinzufügen.

    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 dem Projekt hinzugefügt.

  4. Suchen Sie im Code-Editor nach der Zeile, in der Control als die Basisklasse angegeben wird, von der geerbt werden soll. Ändern Sie den Namen der Basisklasse in den Namen des Steuerelements, von dem geerbt werden soll.

    Wenn beispielsweise von Button geerbt werden soll, würde die Zeile folgendermaßen lauten:

    Inherits System.Windows.Forms.Button
    
    public class CustomControl1 : System.Windows.Forms.Button
    
    public class CustomControl1
       extends System.Windows.Forms.Button
    
  5. Implementieren Sie alle benutzerdefinierten Methoden oder Eigenschaften, die in das Steuerelement eingebunden werden.

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

    Hinweis:

    Durch Überschreiben von OnPaint ist es nicht möglich, die Darstellung aller Steuerelemente zu ändern. Von den Steuerelementen, die vollständig von Windows gezeichnet werden, z. B. TextBox, wird die OnPaint-Methode nie aufgerufen. Daher wird benutzerdefinierter Code von diesen nie verwendet. Ob die OnPaint-Methode verfügbar ist, entnehmen Sie der Hilfedokumentation zu dem Steuerelement, das Sie ändern möchten. Eine Liste aller Windows Form-Steuerelemente finden Sie unter Steuerelemente für Windows Forms. Die Darstellung eines Steuerelements, in dem OnPaint nicht als Membermethode aufgeführt wird, können Sie nicht durch Überschreiben dieser Methode ändern. Weitere Informationen über benutzerdefiniertes Zeichnen finden Sie unter Zeichnen und Ausgeben von benutzerdefinierten Steuerelementen.

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

Siehe auch

Aufgaben

Gewusst wie: Erben von der Control-Klasse

Gewusst wie: Erben von der UserControl-Klasse

Gewusst wie: Erstellen von Steuerelementen für Windows Forms

Problembehandlung für geerbte Ereignishandler in Visual Basic

Konzepte

Arten von benutzerdefinierten Steuerelementen