ToolStripProfessionalRenderer Classe

Definizione

Gestisce la funzionalità di disegno per ToolStrip gli oggetti, applicando una tavolozza personalizzata e uno stile semplificato.

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
Ereditarietà
ToolStripProfessionalRenderer

Esempio

Nell'esempio di codice seguente viene illustrato come creare un controllo composito che simula il Navigation Pane fornito da Microsoft ® Outlook ®. Per un elenco di codice completo, vedere Procedura: Creare un controllo ToolStrip con stile professionale.

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

Commenti

ToolStripProfessionalRenderer crea penne e pennelli basati su una tabella dei colori sostituibile denominata ProfessionalColorTable.

Costruttori

Nome Descrizione
ToolStripProfessionalRenderer()

Inizializza una nuova istanza della classe ToolStripProfessionalRenderer.

ToolStripProfessionalRenderer(ProfessionalColorTable)

Inizializza una nuova istanza della classe ToolStripProfessionalRenderer.

Proprietà

Nome Descrizione
ColorTable

Ottiene la tavolozza dei colori utilizzata per la pittura.

RoundedEdges

Ottiene o imposta un valore che indica se i bordi dei controlli hanno un aspetto arrotondato anziché un aspetto quadrato o nitido.

Metodi

Nome Descrizione
DrawArrow(ToolStripArrowRenderEventArgs)

Disegna una freccia su un oggetto ToolStripItem.

(Ereditato da ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un oggetto ToolStripButton.

(Ereditato da ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un oggetto ToolStripDropDownButton.

(Ereditato da ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Disegna un handle di spostamento su un oggetto ToolStrip.

(Ereditato da ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Disegna lo spazio intorno a un'immagine in un oggetto ToolStrip.

(Ereditato da ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un oggetto ToolStripItem.

(Ereditato da ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Disegna un'immagine su un ToolStripItem oggetto che indica che l'elemento è in uno stato selezionato.

(Ereditato da ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Disegna un'immagine su un oggetto ToolStripItem.

(Ereditato da ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Disegna testo su un oggetto ToolStripItem.

(Ereditato da ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un oggetto ToolStripLabel.

(Ereditato da ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un oggetto ToolStripMenuItem.

(Ereditato da ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un pulsante di overflow.

(Ereditato da ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

Disegna un oggetto ToolStripSeparator.

(Ereditato da ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

Disegna un oggetto ToolStripSplitButton.

(Ereditato da ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Disegna un grip di ridimensionamento.

(Ereditato da ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Disegna lo sfondo per un oggetto ToolStrip.

(Ereditato da ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Disegna il bordo per un oggetto ToolStrip.

(Ereditato da ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Disegna lo sfondo dell'oggetto ToolStripContentPanel.

(Ereditato da ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Disegna lo sfondo dell'oggetto ToolStripPanel.

(Ereditato da ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo dell'oggetto ToolStripStatusLabel.

(Ereditato da ToolStripRenderer)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Initialize(ToolStrip)

Quando sottoposto a override in una classe derivata, fornisce l'inizializzazione personalizzata dell'oggetto specificato ToolStrip.

(Ereditato da ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Inizializza l'oggetto specificato ToolStripContentPanel.

(Ereditato da ToolStripRenderer)
InitializeItem(ToolStripItem)

Quando sottoposto a override in una classe derivata, fornisce l'inizializzazione personalizzata dell'oggetto specificato ToolStripItem.

(Ereditato da ToolStripRenderer)
InitializePanel(ToolStripPanel)

Inizializza l'oggetto specificato ToolStripPanel.

(Ereditato da ToolStripRenderer)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnRenderArrow(ToolStripArrowRenderEventArgs)

Genera l'evento RenderArrow.

OnRenderButtonBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderButtonBackground.

OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderDropDownButtonBackground.

OnRenderGrip(ToolStripGripRenderEventArgs)

Genera l'evento RenderGrip.

OnRenderImageMargin(ToolStripRenderEventArgs)

Disegna lo sfondo dell'elemento.

OnRenderItemBackground(ToolStripItemRenderEventArgs)

Genera l'evento OnRenderItemBackground(ToolStripItemRenderEventArgs).

(Ereditato da ToolStripRenderer)
OnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Genera l'evento RenderItemCheck.

OnRenderItemImage(ToolStripItemImageRenderEventArgs)

Genera l'evento RenderItemImage.

OnRenderItemText(ToolStripItemTextRenderEventArgs)

Genera l'evento RenderItemText.

OnRenderLabelBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderLabelBackground.

OnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderMenuItemBackground.

OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderOverflowButtonBackground.

OnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Genera l'evento RenderSeparator.

OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Genera l'evento OnRenderSplitButtonBackground.

OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

Genera l'evento RenderStatusStripSizingGrip.

(Ereditato da ToolStripRenderer)
OnRenderToolStripBackground(ToolStripRenderEventArgs)

Genera l'evento RenderToolStripBackground.

OnRenderToolStripBorder(ToolStripRenderEventArgs)

Genera l'evento RenderToolStripBorder.

OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Genera l'evento RenderToolStripContentPanelBackground.

OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Genera l'evento RenderToolStripPanelBackground.

OnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderToolStripStatusLabelBackground.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Eventi

Nome Descrizione
RenderArrow

Si verifica quando viene eseguito il rendering di una freccia su un ToolStripItem oggetto .

(Ereditato da ToolStripRenderer)
RenderButtonBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStripButton .

(Ereditato da ToolStripRenderer)
RenderDropDownButtonBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStripDropDownButton .

(Ereditato da ToolStripRenderer)
RenderGrip

Si verifica quando viene eseguito il rendering dell'handle di spostamento per un oggetto ToolStrip .

(Ereditato da ToolStripRenderer)
RenderImageMargin

Disegna il margine tra un'immagine e il relativo contenitore.

(Ereditato da ToolStripRenderer)
RenderItemBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStripItem .

(Ereditato da ToolStripRenderer)
RenderItemCheck

Si verifica quando viene eseguito il rendering dell'immagine per un oggetto selezionato ToolStripItem .

(Ereditato da ToolStripRenderer)
RenderItemImage

Si verifica quando viene eseguito il rendering dell'immagine per un oggetto ToolStripItem .

(Ereditato da ToolStripRenderer)
RenderItemText

Si verifica quando viene eseguito il rendering del testo per un oggetto ToolStripItem .

(Ereditato da ToolStripRenderer)
RenderLabelBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStripLabel .

(Ereditato da ToolStripRenderer)
RenderMenuItemBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStripMenuItem .

(Ereditato da ToolStripRenderer)
RenderOverflowButtonBackground

Si verifica quando viene eseguito il rendering dello sfondo di un pulsante di overflow.

(Ereditato da ToolStripRenderer)
RenderSeparator

Si verifica quando viene eseguito il rendering di un oggetto ToolStripSeparator .

(Ereditato da ToolStripRenderer)
RenderSplitButtonBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStripSplitButton .

(Ereditato da ToolStripRenderer)
RenderStatusStripSizingGrip

Si verifica quando lo stile di visualizzazione cambia.

(Ereditato da ToolStripRenderer)
RenderToolStripBackground

Si verifica quando viene eseguito il rendering dello sfondo di un oggetto ToolStrip .

(Ereditato da ToolStripRenderer)
RenderToolStripBorder

Si verifica quando viene eseguito il rendering del bordo di un oggetto ToolStrip .

(Ereditato da ToolStripRenderer)
RenderToolStripContentPanelBackground

Disegna lo sfondo di un oggetto ToolStripContentPanel.

(Ereditato da ToolStripRenderer)
RenderToolStripPanelBackground

Disegna lo sfondo di un oggetto ToolStripPanel.

(Ereditato da ToolStripRenderer)
RenderToolStripStatusLabelBackground

Disegna lo sfondo di un oggetto ToolStripStatusLabel.

(Ereditato da ToolStripRenderer)

Si applica a