Gewusst wie: Erben von vorhandenen Windows Forms-Steuerelementen

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.

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.

So erstellen Sie ein geerbtes Steuerelement

  1. Erstellen eines neuen Windows Forms-Anwendung-Projekts.

  2. Klicken Sie im Menü Projekt auf Neues Element 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. Klicken Sie in Visual Basic oben im Projektmappen-Explorer auf Alle Dateien anzeigen. Erweitern Sie CustomControl1.vb, und öffnen Sie dann CustomControl1.Designer.vb im Code-Editor.

  5. Wenn Sie C# verwenden, öffnen Sie CustomControl1.cs im Code-Editor.

  6. Suchen Sie die Klassendeklaration, die von Control erbt.

  7. Ändern Sie die Basisklasse in das Steuerelement, von dem geerbt werden soll.

    Angenommen, Sie möchten von Button erben. In diesem Fall ändern Sie die Klassendeklaration wie folgt:

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

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

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

    Tipp

    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 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).
    }
    
  11. 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

Exemplarische Vorgehensweise: Vererben eines Windows Forms-Steuerelements mit Visual Basic

Exemplarische Vorgehensweise: Vererben von einem Windows Forms-Steuerelement mit Visual C#

Konzepte

Arten von benutzerdefinierten Steuerelementen

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Juli 2010

Aktualisiert für Visual Studio 2010.

Kundenfeedback.