Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die ToolStrip Steuerelemente weisen die folgenden zugeordneten Renderingklassen (Painting) auf:
ToolStripSystemRenderer stellt das Erscheinungsbild und den Stil Ihres Betriebssystems bereit.
ToolStripProfessionalRenderer stellt das Erscheinungsbild und den Stil von Microsoft Office bereit.
ToolStripRenderer ist die abstrakte Basisklasse für die anderen beiden Renderingklassen.
Zum benutzerdefinierten Zeichnen (auch als Besitzer zeichnen bezeichnet) a ToolStripkönnen Sie eine der Rendererklassen überschreiben und einen Aspekt der Renderinglogik ändern.
Die folgenden Verfahren beschreiben verschiedene Aspekte der benutzerdefinierten Zeichnung.
Wechseln zwischen den bereitgestellten Renderern
Legen Sie die RenderMode Eigenschaft auf den ToolStripRenderMode gewünschten Wert fest.
Mit ManagerRenderModedieser Eigenschaft bestimmt die Statische RenderMode den Renderer für Ihre Anwendung. Die anderen Werte sind ToolStripRenderModeCustom, Professionalund System.
Ändern der Rahmenlinien im Office-Stil
- Überschreiben ToolStripProfessionalRenderer.OnRenderToolStripBorderSie die Basisklasse, rufen Sie jedoch nicht auf.
Hinweis
Es gibt eine Version dieser Methode für ToolStripRenderer, ToolStripSystemRendererund ToolStripProfessionalRenderer.
Ändern der ProfessionalColorTable
Überschreiben ProfessionalColorTable und ändern Sie die gewünschten Farben.
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { var colorTable = new MyColorTable(); toolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable); } class MyColorTable: ProfessionalColorTable { public override System.Drawing.Color ButtonPressedGradientBegin => Color.Red; public override System.Drawing.Color ButtonPressedGradientMiddle => Color.Blue; public override System.Drawing.Color ButtonPressedGradientEnd => Color.Green; public override System.Drawing.Color ButtonSelectedGradientBegin => Color.Yellow; public override System.Drawing.Color ButtonSelectedGradientMiddle => Color.Orange; public override System.Drawing.Color ButtonSelectedGradientEnd => Color.Violet; } }Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim colorTable As New MyColorTable ToolStrip1.Renderer = New ToolStripProfessionalRenderer(colorTable) End Sub Class MyColorTable Inherits ProfessionalColorTable Public Overrides ReadOnly Property ButtonPressedGradientBegin() As System.Drawing.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 System.Drawing.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 End Class
Ändern des Renderings für alle ToolStrips
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 gesetzt ist.
Deaktivieren der Office-Farben
- Setzen Sie ToolStripManager.VisualStylesEnabled auf
false.
Deaktivieren Sie die Office-Farben für ein ToolStrip
Verwenden Sie Code ähnlich dem folgenden Codebeispiel.
ProfessionalColorTable colorTable = new ProfessionalColorTable(); colorTable.UseSystemColors = true; toolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable);Dim colorTable As New ProfessionalColorTable colorTable.UseSystemColors = True ToolStrip1.Renderer = new ToolStripProfessionalRenderer(colorTable)
Siehe auch
.NET Desktop feedback