Comment : personnaliser le dessin d'un contrôle ToolStrip
Les contrôles ToolStrip possèdent les classes de rendu (peinture) associées suivantes :
ToolStripSystemRenderer fournit l'aspect et le style de votre système d'exploitation.
ToolStripProfessionalRenderer fournit l'aspect et le style de Microsoft Office.
ToolStripRenderer correspond à la classe de base abstraite des deux autres classes de rendu.
Pour dessiner de façon personnalisée (opération également appelée owner draw) un ToolStrip, vous pouvez substituer l'une des classes du convertisseur et modifier un aspect de la logique de rendu.
Pour plus d'informations, consultez Contrôle utilisateur de dessin personnalisé, exemple et Contrôle utilisateur de dessin personnalisé, exemple.
Les procédures suivantes décrivent plusieurs aspects du dessin personnalisé.
Pour alterner entre les convertisseurs fournis
Affectez à la propriété RenderMode la valeur ToolStripRenderMode de votre choix.
En ManagerRenderMode, le RenderMode statique détermine le convertisseur applicable à votre application. Les autres valeurs de ToolStripRenderMode sont Custom, Professional et System.
Pour modifier les bordures de style Microsoft Office en spécifiant des bordures droites
- Substituez ToolStripProfessionalRenderer.OnRenderToolStripBorder, mais n'appelez pas la classe de base.
Notes
Il existe une version de cette méthode pour ToolStripRenderer, ToolStripSystemRenderer et ToolStripProfessionalRenderer.
Pour modifier ProfessionalColorTable
Substituez ProfessionalColorTable et modifiez les couleurs que vous souhaitez.
[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
Pour modifier le rendu pour tous les contrôles ToolStrip de votre application
Utilisez la propriété ToolStripManager.RenderMode pour choisir l'un des convertisseurs fournis.
Utilisez ToolStripManager.Renderer pour assigner un convertisseur personnalisé.
Vérifiez que la valeur par défaut de ManagerRenderMode est affectée à ToolStrip.RenderMode.
Pour désactiver les couleurs Microsoft Office pour l'application entière
- Affectez à ToolStripManager.VisualStylesEnabled la valeur false.
Pour désactiver les couleurs Microsoft Office pour un contrôle ToolStrip
Utilisez un code similaire à l'exemple de code suivant.
[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);
Voir aussi
Tâches
Référence
Vue d'ensemble du contrôle ToolStrip (Windows Forms)
Concepts
Contrôles avec prise en charge intégrée des dessins owner-drawn