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. Das eigene Rendering erfolgt bei allen Windows Forms-Steuerelementen mittels der eigenen OnPaint-Methode. Da diese Methode geschützt ist, kann der Entwickler nicht auf sie zugreifen. Daher kann 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 konstituierender Steuerelemente zu beeinflussen. Zusätzliches Rendering kann ermöglicht werden, indem ein Ereignishandler hinzugefügt wird. Angenommen, Sie erstellen z. B. ein UserControl mit einer Schaltfläche namens MyButton. Wenn Sie zusätzliches Rendering benötigen, das über die von Button gebotenen Funktionen hinausgeht, fügen Sie dem Benutzersteuerelement Code ähnlich dem folgenden hinzu:

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

Hinweis

Einige Windows Forms-Steuerelemente (z. B. TextBox) werden direkt von Windows gezeichnet. In solchen Fällen wird die OnPaint-Methode und somit das obige Beispiel nie aufgerufen.

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 erfolgen. Einzelheiten zu GDI+-Technologie und benutzerdefiniertem Rendering 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.

Weitere Informationen