Partager via


ToolStripProfessionalRenderer Classe

Définition

Gère les fonctionnalités de peinture pour les objets ToolStrip, en appliquant une palette personnalisée et un style rationalisé.

public ref class ToolStripProfessionalRenderer : System::Windows::Forms::ToolStripRenderer
public class ToolStripProfessionalRenderer : System.Windows.Forms.ToolStripRenderer
type ToolStripProfessionalRenderer = class
    inherit ToolStripRenderer
Public Class ToolStripProfessionalRenderer
Inherits ToolStripRenderer
Héritage
ToolStripProfessionalRenderer

Exemples

L’exemple de code suivant montre comment créer un contrôle composite qui imite le volet de navigation fourni par Microsoft® Outlook®. Pour obtenir une liste de code complète, consultez How to: Create a Professionally Styled ToolStrip Control.

internal class StackRenderer : ToolStripProfessionalRenderer
{
    private static Bitmap titleBarGripBmp;
    private static string titleBarGripEnc = @"Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+";

    // Define titlebar colors.
    private static Color titlebarColor1 = Color.FromArgb(89, 135, 214);
    private static Color titlebarColor2 = Color.FromArgb(76, 123, 204);
    private static Color titlebarColor3 = Color.FromArgb(63, 111, 194);
    private static Color titlebarColor4 = Color.FromArgb(50, 99, 184);
    private static Color titlebarColor5 = Color.FromArgb(38, 88, 174);
    private static Color titlebarColor6 = Color.FromArgb(25, 76, 164);
    private static Color titlebarColor7 = Color.FromArgb(12, 64, 154);
    private static Color borderColor = Color.FromArgb(0, 0, 128);

    static StackRenderer()
    {
        titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc);
    }

    public StackRenderer()
    {
    }

    private void DrawTitleBar(Graphics g, Rectangle rect)
    {
        // Assign the image for the grip.
        Image titlebarGrip = titleBarGripBmp;

        // Fill the titlebar. 
        // This produces the gradient and the rounded-corner effect.
        g.DrawLine(new Pen(titlebarColor1), rect.X, rect.Y, rect.X + rect.Width, rect.Y);
        g.DrawLine(new Pen(titlebarColor2), rect.X, rect.Y + 1, rect.X + rect.Width, rect.Y + 1);
        g.DrawLine(new Pen(titlebarColor3), rect.X, rect.Y + 2, rect.X + rect.Width, rect.Y + 2);
        g.DrawLine(new Pen(titlebarColor4), rect.X, rect.Y + 3, rect.X + rect.Width, rect.Y + 3);
        g.DrawLine(new Pen(titlebarColor5), rect.X, rect.Y + 4, rect.X + rect.Width, rect.Y + 4);
        g.DrawLine(new Pen(titlebarColor6), rect.X, rect.Y + 5, rect.X + rect.Width, rect.Y + 5);
        g.DrawLine(new Pen(titlebarColor7), rect.X, rect.Y + 6, rect.X + rect.Width, rect.Y + 6);

        // Center the titlebar grip.
        g.DrawImage(
            titlebarGrip,
            new Point(rect.X + ((rect.Width / 2) - (titlebarGrip.Width / 2)),
            rect.Y + 1));
    }

    // This method handles the RenderGrip event.
    protected override void OnRenderGrip(ToolStripGripRenderEventArgs e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderToolStripBorder event.
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
        DrawTitleBar(
            e.Graphics,
            new Rectangle(0, 0, e.ToolStrip.Width, 7));
    }

    // This method handles the RenderButtonBackground event.
    protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
    {
        Graphics g = e.Graphics;
        Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);

        Color gradientBegin = Color.FromArgb(203, 225, 252);
        Color gradientEnd = Color.FromArgb(125, 165, 224);

        ToolStripButton button = e.Item as ToolStripButton;
        if (button.Pressed || button.Checked)
        {
            gradientBegin = Color.FromArgb(254, 128, 62);
            gradientEnd = Color.FromArgb(255, 223, 154);
        }
        else if (button.Selected)
        {
            gradientBegin = Color.FromArgb(255, 255, 222);
            gradientEnd = Color.FromArgb(255, 203, 136);
        }

        using (Brush b = new LinearGradientBrush(
            bounds,
            gradientBegin,
            gradientEnd,
            LinearGradientMode.Vertical))
        {
            g.FillRectangle(b, bounds);
        }

        e.Graphics.DrawRectangle(
            SystemPens.ControlDarkDark,
            bounds);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.Width - 1,
            bounds.Y);

        g.DrawLine(
            SystemPens.ControlDarkDark,
            bounds.X,
            bounds.Y,
            bounds.X,
            bounds.Height - 1);

        ToolStrip toolStrip = button.Owner;
        ToolStripButton nextItem = button.Owner.GetItemAt(
            button.Bounds.X,
            button.Bounds.Bottom + 1) as ToolStripButton;

        if (nextItem == null)
        {
            g.DrawLine(
                SystemPens.ControlDarkDark,
                bounds.X,
                bounds.Height - 1,
                bounds.X + bounds.Width - 1,
                bounds.Height - 1);
        }
    }
}
Friend Class StackRenderer
   Inherits ToolStripProfessionalRenderer
   Private Shared titleBarGripBmp As Bitmap
   Private Shared titleBarGripEnc As String = "Qk16AQAAAAAAADYAAAAoAAAAIwAAAAMAAAABABgAAAAAAAAAAADEDgAAxA4AAAAAAAAAAAAAuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5uGMyuGMy+/n5+/n5ANj+RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5wm8/RzIomHRh+/n5ANj+RzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMzHtMRzIoRzIozHtMANj+"
   
   ' Define titlebar colors.
   Private Shared titlebarColor1 As Color = Color.FromArgb(89, 135, 214)
   Private Shared titlebarColor2 As Color = Color.FromArgb(76, 123, 204)
   Private Shared titlebarColor3 As Color = Color.FromArgb(63, 111, 194)
   Private Shared titlebarColor4 As Color = Color.FromArgb(50, 99, 184)
   Private Shared titlebarColor5 As Color = Color.FromArgb(38, 88, 174)
   Private Shared titlebarColor6 As Color = Color.FromArgb(25, 76, 164)
   Private Shared titlebarColor7 As Color = Color.FromArgb(12, 64, 154)
   Private Shared borderColor As Color = Color.FromArgb(0, 0, 128)
   
   Shared Sub New()
      titleBarGripBmp = StackView.DeserializeFromBase64(titleBarGripEnc)
     End Sub
   
   Public Sub New()
     End Sub
   
     Private Sub DrawTitleBar(ByVal g As Graphics, ByVal rect As Rectangle)

         ' Assign the image for the grip.
         Dim titlebarGrip As Image = titleBarGripBmp

         ' Fill the titlebar. 
         ' This produces the gradient and the rounded-corner effect.
         g.DrawLine(New Pen(titlebarColor1), rect.X, rect.Y, rect.X + rect.Width, rect.Y)
         g.DrawLine(New Pen(titlebarColor2), rect.X, rect.Y + 1, rect.X + rect.Width, rect.Y + 1)
         g.DrawLine(New Pen(titlebarColor3), rect.X, rect.Y + 2, rect.X + rect.Width, rect.Y + 2)
         g.DrawLine(New Pen(titlebarColor4), rect.X, rect.Y + 3, rect.X + rect.Width, rect.Y + 3)
         g.DrawLine(New Pen(titlebarColor5), rect.X, rect.Y + 4, rect.X + rect.Width, rect.Y + 4)
         g.DrawLine(New Pen(titlebarColor6), rect.X, rect.Y + 5, rect.X + rect.Width, rect.Y + 5)
         g.DrawLine(New Pen(titlebarColor7), rect.X, rect.Y + 6, rect.X + rect.Width, rect.Y + 6)

         ' Center the titlebar grip.
         g.DrawImage(titlebarGrip, New Point(rect.X + (rect.Width / 2 - titlebarGrip.Width / 2), rect.Y + 1))
     End Sub
   
   
   ' This method handles the RenderGrip event.
   Protected Overrides Sub OnRenderGrip(e As ToolStripGripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width, 7))
     End Sub
   
   
   ' This method handles the RenderToolStripBorder event.
   Protected Overrides Sub OnRenderToolStripBorder(e As ToolStripRenderEventArgs)
      DrawTitleBar(e.Graphics, New Rectangle(0, 0, e.ToolStrip.Width, 7))
     End Sub
   
   
   ' This method handles the RenderButtonBackground event.
   Protected Overrides Sub OnRenderButtonBackground(e As ToolStripItemRenderEventArgs)
      Dim g As Graphics = e.Graphics
      Dim bounds As New Rectangle(Point.Empty, e.Item.Size)
      
      Dim gradientBegin As Color = Color.FromArgb(203, 225, 252)
      Dim gradientEnd As Color = Color.FromArgb(125, 165, 224)
      
         Dim button As ToolStripButton = CType(e.Item, ToolStripButton)
      
      If button.Pressed OrElse button.Checked Then
         gradientBegin = Color.FromArgb(254, 128, 62)
         gradientEnd = Color.FromArgb(255, 223, 154)
      ElseIf button.Selected Then
         gradientBegin = Color.FromArgb(255, 255, 222)
         gradientEnd = Color.FromArgb(255, 203, 136)
      End If
      
      Dim b = New LinearGradientBrush(bounds, gradientBegin, gradientEnd, LinearGradientMode.Vertical)
      Try
         g.FillRectangle(b, bounds)
      Finally
         b.Dispose()
      End Try
      
      e.Graphics.DrawRectangle(SystemPens.ControlDarkDark, bounds)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.Width - 1, bounds.Y)
      
      g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Y, bounds.X, bounds.Height - 1)
      
      Dim toolStrip As ToolStrip = button.Owner
         Dim nextItem As ToolStripButton = CType(button.Owner.GetItemAt(button.Bounds.X, button.Bounds.Bottom + 1), ToolStripButton)
      
      If nextItem Is Nothing Then
         g.DrawLine(SystemPens.ControlDarkDark, bounds.X, bounds.Height - 1, bounds.X + bounds.Width - 1, bounds.Height - 1)
      End If
     End Sub
 End Class

Remarques

ToolStripProfessionalRenderer crée des stylets et des pinceaux basés sur une table de couleurs remplaçable appelée ProfessionalColorTable.

Constructeurs

ToolStripProfessionalRenderer()

Initialise une nouvelle instance de la classe ToolStripProfessionalRenderer.

ToolStripProfessionalRenderer(ProfessionalColorTable)

Initialise une nouvelle instance de la classe ToolStripProfessionalRenderer.

Propriétés

ColorTable

Obtient la palette de couleurs utilisée pour peindre.

RoundedEdges

Obtient ou définit une valeur indiquant si l'apparence des bords des contrôles est plutôt ronde que carrée ou tranchante.

Méthodes

DrawArrow(ToolStripArrowRenderEventArgs)

Dessine une flèche sur un ToolStripItem.

(Hérité de ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan pour ToolStripButton.

(Hérité de ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan pour ToolStripDropDownButton.

(Hérité de ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Dessine une poignée de déplacement sur un ToolStrip.

(Hérité de ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Dessine l'espace autour d'une image sur un ToolStrip.

(Hérité de ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan pour ToolStripItem.

(Hérité de ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Dessine une image sur un ToolStripItem qui indique que l'élément se trouve dans un état sélectionné.

(Hérité de ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Dessine une image sur un ToolStripItem.

(Hérité de ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Dessine le texte sur un ToolStripItem.

(Hérité de ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan pour ToolStripLabel.

(Hérité de ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan pour ToolStripMenuItem.

(Hérité de ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan d'un bouton de dépassement de capacité.

(Hérité de ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

Dessine un ToolStripSeparator.

(Hérité de ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

Dessine un ToolStripSplitButton.

(Hérité de ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Dessine une poignée de dimensionnement.

(Hérité de ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Dessine l'arrière-plan pour ToolStrip.

(Hérité de ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Dessine la bordure pour ToolStrip.

(Hérité de ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Dessine l'arrière-plan de ToolStripContentPanel.

(Hérité de ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Dessine l'arrière-plan de ToolStripPanel.

(Hérité de ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Dessine l'arrière-plan de ToolStripStatusLabel.

(Hérité de ToolStripRenderer)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
Initialize(ToolStrip)

En cas de substitution dans une classe dérivée, fournit une initialisation personnalisée du ToolStrip donné.

(Hérité de ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Initialise le ToolStripContentPanel spécifié.

(Hérité de ToolStripRenderer)
InitializeItem(ToolStripItem)

En cas de substitution dans une classe dérivée, fournit une initialisation personnalisée du ToolStripItem donné.

(Hérité de ToolStripRenderer)
InitializePanel(ToolStripPanel)

Initialise le ToolStripPanel spécifié.

(Hérité de ToolStripRenderer)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnRenderArrow(ToolStripArrowRenderEventArgs)

Déclenche l’événement RenderArrow.

OnRenderButtonBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement RenderButtonBackground.

OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement RenderDropDownButtonBackground.

OnRenderGrip(ToolStripGripRenderEventArgs)

Déclenche l’événement RenderGrip.

OnRenderImageMargin(ToolStripRenderEventArgs)

Dessine l'arrière-plan.

OnRenderItemBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement OnRenderItemBackground(ToolStripItemRenderEventArgs).

(Hérité de ToolStripRenderer)
OnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Déclenche l’événement RenderItemCheck.

OnRenderItemImage(ToolStripItemImageRenderEventArgs)

Déclenche l’événement RenderItemImage.

OnRenderItemText(ToolStripItemTextRenderEventArgs)

Déclenche l’événement RenderItemText.

OnRenderLabelBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement RenderLabelBackground.

OnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement RenderMenuItemBackground.

OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement RenderOverflowButtonBackground.

OnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Déclenche l’événement RenderSeparator.

OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement OnRenderSplitButtonBackground.

OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

Déclenche l’événement RenderStatusStripSizingGrip.

(Hérité de ToolStripRenderer)
OnRenderToolStripBackground(ToolStripRenderEventArgs)

Déclenche l’événement RenderToolStripBackground.

OnRenderToolStripBorder(ToolStripRenderEventArgs)

Déclenche l’événement RenderToolStripBorder.

OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Déclenche l’événement RenderToolStripContentPanelBackground.

OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Déclenche l’événement RenderToolStripPanelBackground.

OnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Déclenche l’événement RenderToolStripStatusLabelBackground.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Événements

RenderArrow

Se produit lors du rendu d'une flèche sur un ToolStripItem.

(Hérité de ToolStripRenderer)
RenderButtonBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStripButton.

(Hérité de ToolStripRenderer)
RenderDropDownButtonBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStripDropDownButton.

(Hérité de ToolStripRenderer)
RenderGrip

Se produit lors du rendu de la poignée de déplacement d'un ToolStrip.

(Hérité de ToolStripRenderer)
RenderImageMargin

Dessine la marge entre une image et son conteneur.

(Hérité de ToolStripRenderer)
RenderItemBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStripItem.

(Hérité de ToolStripRenderer)
RenderItemCheck

Se produit lors du rendu de l'image d'un ToolStripItem sélectionné.

(Hérité de ToolStripRenderer)
RenderItemImage

Se produit lors du rendu de l'image d'un ToolStripItem.

(Hérité de ToolStripRenderer)
RenderItemText

Se produit lors du rendu du texte d'un ToolStripItem.

(Hérité de ToolStripRenderer)
RenderLabelBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStripLabel.

(Hérité de ToolStripRenderer)
RenderMenuItemBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStripMenuItem.

(Hérité de ToolStripRenderer)
RenderOverflowButtonBackground

Se produit lors du rendu de l'arrière-plan d'un bouton de dépassement de capacité.

(Hérité de ToolStripRenderer)
RenderSeparator

Se produit lors du rendu d'un ToolStripSeparator.

(Hérité de ToolStripRenderer)
RenderSplitButtonBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStripSplitButton.

(Hérité de ToolStripRenderer)
RenderStatusStripSizingGrip

Se produit lors d'un changement de style d'affichage.

(Hérité de ToolStripRenderer)
RenderToolStripBackground

Se produit lors du rendu de l'arrière-plan d'un ToolStrip.

(Hérité de ToolStripRenderer)
RenderToolStripBorder

Se produit lors du rendu de la bordure d'un ToolStrip.

(Hérité de ToolStripRenderer)
RenderToolStripContentPanelBackground

Dessine l'arrière-plan de ToolStripContentPanel.

(Hérité de ToolStripRenderer)
RenderToolStripPanelBackground

Dessine l'arrière-plan de ToolStripPanel.

(Hérité de ToolStripRenderer)
RenderToolStripStatusLabelBackground

Dessine l'arrière-plan de ToolStripStatusLabel.

(Hérité de ToolStripRenderer)

S’applique à