Gewusst wie: Benutzerdefiniertes Zeichnen eines ToolStrip-Steuerelements
Die ToolStrip-Steuerelemente verfügen über die folgenden zugeordneten Renderingklassen (Zeichnungsklassen):
ToolStripSystemRenderer stellt das Aussehen und den Stil des Betriebssystems bereit.
ToolStripProfessionalRenderer stellt das Aussehen und den Stil von Microsoft Office bereit.
ToolStripRenderer ist die abstrakte Basisklasse für die anderen beiden Renderingklassen.
Zum benutzerdefinierten Zeichnen (wird auch Besitzerzeichnung genannt) eines ToolStrip können Sie eine der Renderingklassen überschreiben und einen Aspekt der Renderinglogik ändern.
Weitere Informationen finden Sie unter Beispiel für benutzerdefiniert gezeichnete Benutzersteuerelemente und Beispiel für benutzerdefiniert gezeichnete Benutzersteuerelemente.
Die folgenden Prozeduren beschreiben verschiedene Aspekte des benutzerdefinierten Zeichnens.
So wechseln Sie zwischen den bereitgestellten Renderern
Legen Sie die RenderMode-Eigenschaft auf den gewünschten ToolStripRenderMode-Wert fest.
Mit ManagerRenderMode bestimmt der statische RenderMode den Renderer für die Anwendung. Die anderen Werte von ToolStripRenderMode lauten Custom, Professional und System.
So ändern Sie die Rahmen im Stil von Microsoft Office in "gerade"
- Überschreiben Sie ToolStripProfessionalRenderer.OnRenderToolStripBorder, aber rufen Sie nicht die Basisklasse auf.
Tipp
Für ToolStripRenderer, ToolStripSystemRenderer und ToolStripProfessionalRenderer gibt es eine Version dieser Methode.
So ändern Sie die ProfessionalColorTable
Überschreiben Sie ProfessionalColorTable, und ändern Sie die gewünschten Farben.
[Visual Basic]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles Me.Load Dim t As MyColorTable = New MyColorTable ToolStrip1.Renderer = New ToolStripProfessionalRenderer(t) End Sub Class MyColorTable Inherits ProfessionalColorTable Public Overrides ReadOnly Property ButtonPressedGradientBegin() As Color Get Return Color.Red End Get End Property Public Overrides ReadOnly Property ButtonPressedGradientMiddle() _ As System.Drawing.Color Get Return Color.Blue End Get End Property Public Overrides ReadOnly Property ButtonPressedGradientEnd() _ As System.Drawing.Color Get Return Color.Green End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientBegin() _ As Color Get Return Color.Yellow End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientMiddle() As System.Drawing.Color Get Return Color.Orange End Get End Property Public Overrides ReadOnly Property ButtonSelectedGradientEnd() _ As System.Drawing.Color Get Return Color.Violet End Get End Property End Class
So ändern Sie das Rendering in der Anwendung für alle ToolStrip-Steuerelemente
Verwenden Sie die ToolStripManager.RenderMode-Eigenschaft, um einen der bereitgestellten Renderer auszuwählen.
Verwenden Sie ToolStripManager.Renderer, um einen benutzerdefinierten Renderer zuzuweisen.
Stellen Sie sicher, dass ToolStrip.RenderMode auf den Standardwert von ManagerRenderMode festgelegt ist.
So deaktivieren Sie die Microsoft Office-Farben für die gesamte Anwendung
- Legen Sie ToolStripManager.VisualStylesEnabled auf false fest.
So deaktivieren Sie die Microsoft Office-Farben für ein ToolStrip-Steuerelement
Verwenden Sie ähnlichen Code wie im folgenden Codebeispiel.
[Visual Basic]
Dim colorTable As ProfessionalColorTable() colorTable.UseSystemColors = True Dim toolStrip.Renderer As ToolStripProfessionalRenderer(colorTable)
[C#]
ProfessionalColorTable colorTable = new ProfessionalColorTable(); colorTable.UseSystemColors = true; toolStrip.Renderer = new ToolStripProfessionalRenderer(colorTable);
Siehe auch
Aufgaben
Referenz
Übersicht über das ToolStrip-Steuerelement (Windows Forms)