ToolStripProfessionalRenderer Třída

Definice

Zpracovává funkce malování pro ToolStrip objekty, použití vlastní palety a zjednodušeného stylu.

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
Dědičnost
ToolStripProfessionalRenderer

Příklady

Následující příklad kódu ukazuje, jak vytvořit složený ovládací prvek, který napodobuje Navigation Pane poskytované Microsoft ® Outlook ®. Úplný výpis kódu naleznete v tématu Postupy: Vytvoření profesionálně stylovaného ovládacího prvku ToolStrip.

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

Poznámky

ToolStripProfessionalRenderer vytváří pera a štětce založené na nahraditelné barevné tabulce s názvem ProfessionalColorTable.

Konstruktory

Name Description
ToolStripProfessionalRenderer()

Inicializuje novou instanci ToolStripProfessionalRenderer třídy.

ToolStripProfessionalRenderer(ProfessionalColorTable)

Inicializuje novou instanci ToolStripProfessionalRenderer třídy.

Vlastnosti

Name Description
ColorTable

Získá barevnou paletu použitou pro malování.

RoundedEdges

Získá nebo nastaví hodnotu určující, zda hrany ovládacích prvků mají zaoblené místo čtvercového nebo ostrého vzhledu.

Metody

Name Description
DrawArrow(ToolStripArrowRenderEventArgs)

Nakreslí šipku ToolStripItemna .

(Zděděno od ToolStripRenderer)
DrawButtonBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí pro .ToolStripButton

(Zděděno od ToolStripRenderer)
DrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí pro .ToolStripDropDownButton

(Zděděno od ToolStripRenderer)
DrawGrip(ToolStripGripRenderEventArgs)

Nakreslí úchyt pro přesunutí na .ToolStrip

(Zděděno od ToolStripRenderer)
DrawImageMargin(ToolStripRenderEventArgs)

Nakreslí mezeru kolem obrázku na obrázku ToolStrip.

(Zděděno od ToolStripRenderer)
DrawItemBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí pro .ToolStripItem

(Zděděno od ToolStripRenderer)
DrawItemCheck(ToolStripItemImageRenderEventArgs)

Nakreslí obrázek na obrázku ToolStripItem , který označuje, že položka je ve vybraném stavu.

(Zděděno od ToolStripRenderer)
DrawItemImage(ToolStripItemImageRenderEventArgs)

Nakreslí obrázek na .ToolStripItem

(Zděděno od ToolStripRenderer)
DrawItemText(ToolStripItemTextRenderEventArgs)

Nakreslí text na .ToolStripItem

(Zděděno od ToolStripRenderer)
DrawLabelBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí pro .ToolStripLabel

(Zděděno od ToolStripRenderer)
DrawMenuItemBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí pro .ToolStripMenuItem

(Zděděno od ToolStripRenderer)
DrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí tlačítka přetečení.

(Zděděno od ToolStripRenderer)
DrawSeparator(ToolStripSeparatorRenderEventArgs)

Nakreslí .ToolStripSeparator

(Zděděno od ToolStripRenderer)
DrawSplitButton(ToolStripItemRenderEventArgs)

Nakreslí .ToolStripSplitButton

(Zděděno od ToolStripRenderer)
DrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Nakreslí úchyt pro změnu velikosti.

(Zděděno od ToolStripRenderer)
DrawToolStripBackground(ToolStripRenderEventArgs)

Nakreslí pozadí pro .ToolStrip

(Zděděno od ToolStripRenderer)
DrawToolStripBorder(ToolStripRenderEventArgs)

Nakreslí ohraničení pro .ToolStrip

(Zděděno od ToolStripRenderer)
DrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Nakreslí pozadí objektu ToolStripContentPanel.

(Zděděno od ToolStripRenderer)
DrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Nakreslí pozadí objektu ToolStripPanel.

(Zděděno od ToolStripRenderer)
DrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Nakreslí pozadí objektu ToolStripStatusLabel.

(Zděděno od ToolStripRenderer)
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
Initialize(ToolStrip)

Při přepsání v odvozené třídě poskytuje vlastní inicializace daného ToolStrip.

(Zděděno od ToolStripRenderer)
InitializeContentPanel(ToolStripContentPanel)

Inicializuje zadanou ToolStripContentPanel.

(Zděděno od ToolStripRenderer)
InitializeItem(ToolStripItem)

Při přepsání v odvozené třídě poskytuje vlastní inicializace daného ToolStripItem.

(Zděděno od ToolStripRenderer)
InitializePanel(ToolStripPanel)

Inicializuje zadanou ToolStripPanel.

(Zděděno od ToolStripRenderer)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
OnRenderArrow(ToolStripArrowRenderEventArgs)

RenderArrow Vyvolá událost.

OnRenderButtonBackground(ToolStripItemRenderEventArgs)

RenderButtonBackground Vyvolá událost.

OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)

RenderDropDownButtonBackground Vyvolá událost.

OnRenderGrip(ToolStripGripRenderEventArgs)

RenderGrip Vyvolá událost.

OnRenderImageMargin(ToolStripRenderEventArgs)

Nakreslí pozadí položky.

OnRenderItemBackground(ToolStripItemRenderEventArgs)

OnRenderItemBackground(ToolStripItemRenderEventArgs) Vyvolá událost.

(Zděděno od ToolStripRenderer)
OnRenderItemCheck(ToolStripItemImageRenderEventArgs)

RenderItemCheck Vyvolá událost.

OnRenderItemImage(ToolStripItemImageRenderEventArgs)

RenderItemImage Vyvolá událost.

OnRenderItemText(ToolStripItemTextRenderEventArgs)

RenderItemText Vyvolá událost.

OnRenderLabelBackground(ToolStripItemRenderEventArgs)

RenderLabelBackground Vyvolá událost.

OnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

RenderMenuItemBackground Vyvolá událost.

OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)

RenderOverflowButtonBackground Vyvolá událost.

OnRenderSeparator(ToolStripSeparatorRenderEventArgs)

RenderSeparator Vyvolá událost.

OnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)

Vyvolá událost OnRenderSplitButtonBackground.

OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)

RenderStatusStripSizingGrip Vyvolá událost.

(Zděděno od ToolStripRenderer)
OnRenderToolStripBackground(ToolStripRenderEventArgs)

RenderToolStripBackground Vyvolá událost.

OnRenderToolStripBorder(ToolStripRenderEventArgs)

RenderToolStripBorder Vyvolá událost.

OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

RenderToolStripContentPanelBackground Vyvolá událost.

OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)

RenderToolStripPanelBackground Vyvolá událost.

OnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

RenderToolStripStatusLabelBackground Vyvolá událost.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

Name Description
RenderArrow

Nastane, když se vykreslí šipka na obrázku ToolStripItem .

(Zděděno od ToolStripRenderer)
RenderButtonBackground

Nastane, když se vykreslí pozadí objektu ToolStripButton .

(Zděděno od ToolStripRenderer)
RenderDropDownButtonBackground

Nastane, když se vykreslí pozadí objektu ToolStripDropDownButton .

(Zděděno od ToolStripRenderer)
RenderGrip

Vyvolá se při vykreslení úchytu ToolStrip pro přesunutí.

(Zděděno od ToolStripRenderer)
RenderImageMargin

Nakreslí okraj mezi obrázkem a jeho kontejnerem.

(Zděděno od ToolStripRenderer)
RenderItemBackground

Nastane, když se vykreslí pozadí objektu ToolStripItem .

(Zděděno od ToolStripRenderer)
RenderItemCheck

Nastane, když se obrázek vybraného obrázku ToolStripItem vykreslí.

(Zděděno od ToolStripRenderer)
RenderItemImage

Nastane při vykreslení obrázku pro obrázek ToolStripItem .

(Zděděno od ToolStripRenderer)
RenderItemText

Nastane, když se vykreslí text pro určitý ToolStripItem text.

(Zděděno od ToolStripRenderer)
RenderLabelBackground

Nastane, když se vykreslí pozadí objektu ToolStripLabel .

(Zděděno od ToolStripRenderer)
RenderMenuItemBackground

Nastane, když se vykreslí pozadí objektu ToolStripMenuItem .

(Zděděno od ToolStripRenderer)
RenderOverflowButtonBackground

Nastane, když se vykreslí pozadí tlačítka přetečení.

(Zděděno od ToolStripRenderer)
RenderSeparator

Nastane při ToolStripSeparator vykreslení.

(Zděděno od ToolStripRenderer)
RenderSplitButtonBackground

Nastane, když se vykreslí pozadí objektu ToolStripSplitButton .

(Zděděno od ToolStripRenderer)
RenderStatusStripSizingGrip

Nastane, když se změní styl zobrazení.

(Zděděno od ToolStripRenderer)
RenderToolStripBackground

Nastane, když se vykreslí pozadí objektu ToolStrip .

(Zděděno od ToolStripRenderer)
RenderToolStripBorder

Nastane při vykreslení ohraničení pro určitý okraj ToolStrip .

(Zděděno od ToolStripRenderer)
RenderToolStripContentPanelBackground

Nakreslí pozadí objektu ToolStripContentPanel.

(Zděděno od ToolStripRenderer)
RenderToolStripPanelBackground

Nakreslí pozadí objektu ToolStripPanel.

(Zděděno od ToolStripRenderer)
RenderToolStripStatusLabelBackground

Nakreslí pozadí objektu ToolStripStatusLabel.

(Zděděno od ToolStripRenderer)

Platí pro