Procedura: eseguire un disegno personalizzato di un controllo ToolStrip
Aggiornamento: novembre 2007
Ai controlli ToolStrip sono associate le classi di rendering (disegno) riportate di seguito:
ToolStripSystemRenderer fornisce l'aspetto e lo stile del sistema operativo in uso.
ToolStripProfessionalRenderer fornisce l'aspetto e lo stile di Microsoft Office.
ToolStripRenderer rappresenta la classe base astratta per le altre due classi di rendering.
Per creare un controllo ToolStrip personalizzato (operazione nota come "disegno personalizzato"), è possibile eseguire l'override di una delle classi del renderer e modificare un aspetto della logica di rendering.
Nelle procedure seguenti sono descritti vari aspetti di un disegno personalizzato.
Per passare da un renderer fornito all'altro
Impostare la proprietà RenderMode sul valore ToolStripRenderMode desiderato.
Con ManagerRenderMode, la proprietà RenderMode statica determina il renderer per l'applicazione. Gli altri valori di ToolStripRenderMode sono Custom, Professional e System.
Per impostare bordi diritti annullando lo stile Microsoft Office
- Eseguire l'override di ToolStripProfessionalRenderer.OnRenderToolStripBorder senza tuttavia chiamare la classe base.
![]() |
---|
Esiste una versione per tale metodo per le classi ToolStripRenderer, ToolStripSystemRenderer e ToolStripProfessionalRenderer. |
Per modificare la classe ProfessionalColorTable
Eseguire l'override della classe ProfessionalColorTable e modificare i colori desiderati.
[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
Per modificare il rendering di tutti i controlli ToolStrip nell'applicazione
Utilizzare la proprietà ToolStripManager.RenderMode per scegliere uno dei renderer forniti.
Utilizzare la proprietà ToolStripManager.Renderer per assegnare un renderer personalizzato.
Accertarsi che la proprietà ToolStrip.RenderMode sia impostata sul valore predefinito di ManagerRenderMode.
Per disattivare i colori Microsoft Office in tutta l'applicazione
- Impostare la proprietà ToolStripManager.VisualStylesEnabled su false.
Per disattivare i colori Microsoft Office in un controllo ToolStrip
Utilizzare codice analogo a quello riportato nell'esempio seguente.
[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);
Vedere anche
Attività
Procedura: creare e impostare un renderer personalizzato per il controllo ToolStrip in Windows Form
Concetti
Controlli con supporto incorporato per la creazione da parte del proprietario