Så här gör du: Anpassa ritning av en ToolStrip-kontroll
De ToolStrip kontrollerna har följande associerade renderingsklasser (målning):
ToolStripSystemRenderer ger operativsystemets utseende och stil.
ToolStripProfessionalRenderer ger utseendet och stilen på Microsoft Office.
ToolStripRenderer är den abstrakta basklassen för de andra två återgivningsklasserna.
Om du vill använda anpassad ritning (även kallad egen ritning) för ToolStripkan du åsidosätta en av renderarklasserna och ändra en aspekt av renderingslogiken.
Följande procedurer beskriver olika aspekter av anpassad ritning.
Växla mellan de tillhandahållna renderarna
Ange egenskapen RenderMode till det ToolStripRenderMode värde du vill ha.
Med ManagerRenderModeavgör den statiska RenderMode återgivningen för ditt program. De andra värdena för ToolStripRenderMode är Custom, Professionaloch System.
Ändra kantlinjer i Office-format
- Åsidosätt ToolStripProfessionalRenderer.OnRenderToolStripBorder, men anropa inte basklassen.
Obs
Det finns en version av den här metoden för ToolStripRenderer, ToolStripSystemRendereroch ToolStripProfessionalRenderer.
Ändra ProfessionalColorTable
Åsidosätt ProfessionalColorTable och ändra önskade färger.
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
Ändra rendering för alla ToolStrips
Använd egenskapen ToolStripManager.RenderMode för att välja en av de tillhandahållna renderers.
Använd ToolStripManager.Renderer för att tilldela en anpassad renderare.
Kontrollera att ToolStrip.RenderMode är inställt på standardvärdet för ManagerRenderMode.
Inaktivera Office-färgerna
- Ange ToolStripManager.VisualStylesEnabled till
false
.
Inaktivera Office-färgerna för en ToolStrip
Använd kod som liknar följande kodexempel.
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)
Se även
.NET Desktop feedback