Freigeben über


Konstituierende Steuerelemente

Die Steuerelemente, aus denen ein Benutzersteuerelement gebildet wird, werden als konstituierende Steuerelemente bezeichnet. Sie verhalten sich beim Rendering benutzerdefinierter Grafiken relativ unflexibel. Die Selbstausgabe wird von allen Steuerelementen in Windows Forms mittels der eigenen OnPaint-Methode bewerkstelligt. Da diese Methode geschützt ist, kann der Entwickler nicht auf sie zugreifen. Daher kann auch nicht verhindert werden, dass die Methode ausgeführt wird, sobald ein Steuerelement gezeichnet wird. Das bedeutet jedoch nicht, dass kein Code hinzugefügt werden kann, um die Darstellung der konstituierenden Komponenten zu beeinflussen. Zusätzliches Ausgeben kann ermöglicht werden, indem ein Ereignishandler hinzugefügt wird. Angenommen, Sie erstellen ein UserControl mit einer Schaltfläche mit der Bezeichnung MyButton. Wenn zusätzliches Rendern eingesetzt werden soll, das über das hinausgeht, was von der Button-Klasse bereitgestellt wird, würde Code ähnlich dem folgenden zu dem Steuerelement hinzugefügt werden:

Public Sub MyPaint(ByVal sender as Object, e as PaintEventArgs) Handles _
   MyButton.Paint
   'Additional rendering code goes here
End Sub
// Add the event handler to the button's Paint event.
MyButton.Paint += 
   new System.Windows.Forms.PaintEventHandler (this.MyPaint);
// Create the custom painting method.
protected void MyPaint (object sender, 
System.Windows.Forms.PaintEventArgs e)
{
   // Additional rendering code goes here.
}
// Add the event handler to the button's Paint event.
MyButton.add_Paint(new 
System.Windows.Forms.PaintEventHandler(this.MyPaint));
// Create the custom painting method.
protected void MyPaint(System.Object sender,
   System.Windows.Forms.PaintEventArgs e)
{
// Additional rendering code goes here.
}

Tipp

Einige Steuerelemente in Windows Forms, z. B. TextBox, werden direkt von Windows gezeichnet. In solchen Instanzen wird die OnPaint-Methode nie aufgerufen und das obige Beispiel daher nie verwendet.

Hierdurch wird eine Methode erstellt, die jedes Mal ausgeführt wird, sobald das MyButton.Paint-Ereignis ausgeführt wird. So wird dem Steuerelement eine zusätzliche grafische Darstellung hinzugefügt. Beachten Sie, dass dadurch nicht die Ausführung von MyButton.OnPaint verhindert wird. Daher werden zusätzlich zu den benutzerdefinierten Zeichenvorgängen alle Zeichenvorgänge ausgeführt, die in der Regel über eine Schaltfläche vorgenommen werden. Einzelheiten über die GDI+-Technologie und benutzerdefiniertes Rendern finden Sie unter Erstellen von Grafiken mit GDI+. Der beste Weg zum Erreichen einer einheitlichen Darstellung des Steuerelements besteht darin, ein geerbtes Steuerelement zu erstellen und Code zum benutzerdefinierten Ausgeben dieses Steuerelements zu schreiben. Einzelheiten dazu finden Sie unter Benutzerdefinierte Steuerelemente.

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Graphics-Objekten zum Zeichnen

Referenz

UserControl

OnPaint

Konzepte

Benutzerdefinierte Steuerelemente

Arten von benutzerdefinierten Steuerelementen