Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe ToolStripRenderer

 

Publicado: agosto de 2016

Manipula a funcionalidade de pintura para objetos ToolStrip.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (em System.Windows.Forms.dll)


public abstract class ToolStripRenderer

NomeDescrição
System_CAPS_protmethodToolStripRenderer()

Inicializa uma nova instância da classe ToolStripRenderer.

NomeDescrição
System_CAPS_pubmethodSystem_CAPS_staticCreateDisabledImage(Image)

Cria uma cópia de escala de cinza de uma determinada imagem.

System_CAPS_pubmethodDrawArrow(ToolStripArrowRenderEventArgs)

Desenha uma seta em uma ToolStripItem.

System_CAPS_pubmethodDrawButtonBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo para um ToolStripButton.

System_CAPS_pubmethodDrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo para um ToolStripDropDownButton.

System_CAPS_pubmethodDrawGrip(ToolStripGripRenderEventArgs)

Desenha uma alça de movimentação em uma ToolStrip.

System_CAPS_pubmethodDrawImageMargin(ToolStripRenderEventArgs)

Desenha o espaço em torno de uma imagem em um ToolStrip.

System_CAPS_pubmethodDrawItemBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo para um ToolStripItem.

System_CAPS_pubmethodDrawItemCheck(ToolStripItemImageRenderEventArgs)

Desenha uma imagem em um ToolStripItem que indica que o item está em um estado selecionado.

System_CAPS_pubmethodDrawItemImage(ToolStripItemImageRenderEventArgs)

Desenha uma imagem em um ToolStripItem.

System_CAPS_pubmethodDrawItemText(ToolStripItemTextRenderEventArgs)

Desenha texto em um ToolStripItem.

System_CAPS_pubmethodDrawLabelBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo para um ToolStripLabel.

System_CAPS_pubmethodDrawMenuItemBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo para um ToolStripMenuItem.

System_CAPS_pubmethodDrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo de um botão de estouro.

System_CAPS_pubmethodDrawSeparator(ToolStripSeparatorRenderEventArgs)

Desenha um ToolStripSeparator.

System_CAPS_pubmethodDrawSplitButton(ToolStripItemRenderEventArgs)
System_CAPS_pubmethodDrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Desenha uma alça de dimensionamento.

System_CAPS_pubmethodDrawToolStripBackground(ToolStripRenderEventArgs)

Desenha o plano de fundo para um ToolStrip.

System_CAPS_pubmethodDrawToolStripBorder(ToolStripRenderEventArgs)

Desenha a borda de um ToolStrip.

System_CAPS_pubmethodDrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Desenha o plano de fundo do ToolStripContentPanel.

System_CAPS_pubmethodDrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Desenha o plano de fundo do ToolStripPanel.

System_CAPS_pubmethodDrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Desenha o plano de fundo do ToolStripStatusLabel.

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_protmethodInitialize(ToolStrip)

Quando substituído em uma classe derivada, fornece para inicialização personalizada da determinado ToolStrip.

System_CAPS_protmethodInitializeContentPanel(ToolStripContentPanel)

Inicializa especificado ToolStripContentPanel.

System_CAPS_protmethodInitializeItem(ToolStripItem)

Quando substituído em uma classe derivada, fornece para inicialização personalizada da determinado ToolStripItem.

System_CAPS_protmethodInitializePanel(ToolStripPanel)

Inicializa especificado ToolStripPanel.

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_protmethodOnRenderArrow(ToolStripArrowRenderEventArgs)

Gera o RenderArrow evento.

System_CAPS_protmethodOnRenderButtonBackground(ToolStripItemRenderEventArgs)

Gera o RenderButtonBackground evento.

System_CAPS_protmethodOnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderGrip(ToolStripGripRenderEventArgs)

Gera o RenderGrip evento.

System_CAPS_protmethodOnRenderImageMargin(ToolStripRenderEventArgs)

Desenha o plano de fundo do item.

System_CAPS_protmethodOnRenderItemBackground(ToolStripItemRenderEventArgs)

Gera o OnRenderItemBackground evento.

System_CAPS_protmethodOnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Gera o RenderItemCheck evento.

System_CAPS_protmethodOnRenderItemImage(ToolStripItemImageRenderEventArgs)

Gera o RenderItemImage evento.

System_CAPS_protmethodOnRenderItemText(ToolStripItemTextRenderEventArgs)

Gera o RenderItemText evento.

System_CAPS_protmethodOnRenderLabelBackground(ToolStripItemRenderEventArgs)

Gera o RenderLabelBackground evento.

System_CAPS_protmethodOnRenderMenuItemBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Gera o RenderSeparator evento.

System_CAPS_protmethodOnRenderSplitButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderStatusStripSizingGrip(ToolStripRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripBackground(ToolStripRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripBorder(ToolStripRenderEventArgs)

Gera o RenderToolStripBorder evento.

System_CAPS_protmethodOnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs)
System_CAPS_protmethodOnRenderToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodSystem_CAPS_staticScaleArrowOffsetsIfNeeded()

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Aplica a F:System.Windows.Forms.ToolStripRenderer.Offset2X e F:System.Windows.Forms.ToolStripRenderer.Offset2Y especificado para dimensionar o ícone de seta, se o dimensionamento é necessário pelas configurações de PPP do computador.

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

NomeDescrição
System_CAPS_protfieldSystem_CAPS_staticOffset2X

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém ou define o deslocamento multiplicador para duas vezes o deslocamento ao longo do eixo x.

System_CAPS_protfieldSystem_CAPS_staticOffset2Y

Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Obtém ou define o deslocamento multiplicador para duas vezes o deslocamento ao longo do eixo y.

NomeDescrição
System_CAPS_pubeventRenderArrow

Ocorre quando uma seta em uma ToolStripItem é renderizado.

System_CAPS_pubeventRenderButtonBackground

Ocorre quando o plano de fundo para um ToolStripButton é processado

System_CAPS_pubeventRenderDropDownButtonBackground

Ocorre quando o plano de fundo para um ToolStripDropDownButton é renderizado.

System_CAPS_pubeventRenderGrip

Ocorre quando a movimentação identificador para um ToolStrip é renderizado.

System_CAPS_pubeventRenderImageMargin

Desenha a margem entre seu contêiner e uma imagem.

System_CAPS_pubeventRenderItemBackground

Ocorre quando o plano de fundo para um ToolStripItem é renderizado.

System_CAPS_pubeventRenderItemCheck

Ocorre quando a imagem para um elemento selecionado ToolStripItem é renderizado.

System_CAPS_pubeventRenderItemImage

Ocorre quando a imagem para um ToolStripItem é renderizado.

System_CAPS_pubeventRenderItemText

Ocorre quando o texto para um ToolStripItem é renderizado.

System_CAPS_pubeventRenderLabelBackground

Ocorre quando o plano de fundo para um ToolStripLabel é renderizado.

System_CAPS_pubeventRenderMenuItemBackground

Ocorre quando o plano de fundo para um ToolStripMenuItem é renderizado.

System_CAPS_pubeventRenderOverflowButtonBackground

Ocorre quando o plano de fundo de um botão de estouro é renderizado.

System_CAPS_pubeventRenderSeparator

Ocorre quando um ToolStripSeparator é renderizado.

System_CAPS_pubeventRenderSplitButtonBackground

Ocorre quando o plano de fundo para um ToolStripSplitButton é renderizado.

System_CAPS_pubeventRenderStatusStripSizingGrip

Ocorre quando o estilo de exibição é alterada.

System_CAPS_pubeventRenderToolStripBackground

Ocorre quando o plano de fundo para um ToolStrip é renderizado.

System_CAPS_pubeventRenderToolStripBorder

Ocorre quando a borda de um ToolStrip é renderizado.

System_CAPS_pubeventRenderToolStripContentPanelBackground

Desenha o plano de fundo de um ToolStripContentPanel.

System_CAPS_pubeventRenderToolStripPanelBackground

Desenha o plano de fundo de um ToolStripPanel.

System_CAPS_pubeventRenderToolStripStatusLabelBackground

Desenha o plano de fundo de um ToolStripStatusLabel.

Use the T:System.Windows.Forms.ToolStripRenderer class to apply a particular style or theme to a T:System.Windows.Forms.ToolStrip. Rather than custom painting a T:System.Windows.Forms.ToolStrip and the T:System.Windows.Forms.ToolStripItem objects it contains, you set the P:System.Windows.Forms.ToolStrip.Renderer property to an object that inherits from T:System.Windows.Forms.ToolStripRenderer. The painting specified by the T:System.Windows.Forms.ToolStripRenderer is applied to the T:System.Windows.Forms.ToolStrip, as well as the items it contains.

You can do custom painting in T:System.Windows.Forms.ToolStrip controls in several ways. As with other Windows Forms controls, the T:System.Windows.Forms.ToolStrip and T:System.Windows.Forms.ToolStripItem both have overridable OnPaint methods and Paint events. As with regular painting, the coordinate system is relative to the client area of the control; that is, the upper left-hand corner of the control is 0, 0. The Paint event and OnPaint method for a T:System.Windows.Forms.ToolStripItem behave like other control paint events.

The T:System.Windows.Forms.ToolStripRenderer class has overridable methods for painting the background, item background, item image, item arrow, item text, and border of the T:System.Windows.Forms.ToolStrip. The event arguments for these methods expose several properties such as rectangles, colors, and text formats that you can adjust as desired.

To adjust just a few aspects of how an item is painted, you typically override the T:System.Windows.Forms.ToolStripRenderer.

If you are writing a new item and want to control all aspects of the painting, override the OnPaint method. From within OnPaint, you can use methods from the T:System.Windows.Forms.ToolStripRenderer.

By default, the T:System.Windows.Forms.ToolStrip is double buffered, taking advantage of the F:System.Windows.Forms.ControlStyles.OptimizedDoubleBuffer setting.

The following code example demonstrates how to implement a custom T:System.Windows.Forms.ToolStripRenderer class. The GridStripRenderer class customizes three aspects of the GridStrip control's appearance: GridStrip border, T:System.Windows.Forms.ToolStripButton border, and T:System.Windows.Forms.ToolStripButton image. For a full code listing, see How to: Implement a Custom ToolStripRenderer.

// This class implements a custom ToolStripRenderer for the 
// GridStrip control. It customizes three aspects of the 
// GridStrip control's appearance: GridStrip border, 
// ToolStripButton border, and ToolStripButton image.
internal class GridStripRenderer : ToolStripRenderer
{   
    // The style of the empty cell's text.
    private static StringFormat style = new StringFormat();

    // The thickness (width or height) of a 
    // ToolStripButton control's border.
    static int borderThickness = 2;

    // The main bitmap that is the source for the 
    // subimagesthat are assigned to individual 
    // ToolStripButton controls.
    private Bitmap bmp = null;

    // The brush that paints the background of 
    // the GridStrip control.
    private Brush backgroundBrush = null;

    // This is the static constructor. It initializes the
    // StringFormat for drawing the text in the empty cell.
    static GridStripRenderer()
    {
        style.Alignment = StringAlignment.Center;
        style.LineAlignment = StringAlignment.Center;
    }

    // This method initializes the GridStripRenderer by
    // creating the image that is used as the source for
    // the individual button images.
    protected override void Initialize(ToolStrip ts)
    {
        base.Initialize(ts);

        this.InitializeBitmap(ts);
    }

    // This method initializes an individual ToolStripButton
    // control. It copies a subimage from the GridStripRenderer's
    // main image, according to the position and size of 
    // the ToolStripButton.
    protected override void InitializeItem(ToolStripItem item)
    {
        base.InitializeItem(item);

        GridStrip gs = item.Owner as GridStrip;

        // The empty cell does not receive a subimage.
        if ((item is ToolStripButton) &&
            (item != gs.EmptyCell))
        {
            // Copy the subimage from the appropriate 
            // part of the main image.
            Bitmap subImage = bmp.Clone(
                item.Bounds,
                PixelFormat.Undefined);

            // Assign the subimage to the ToolStripButton
            // control's Image property.
            item.Image = subImage;
        }
    }

    // This utility method creates the main image that
    // is the source for the subimages of the individual 
    // ToolStripButton controls.
    private void InitializeBitmap(ToolStrip toolStrip)
    {
        // Create the main bitmap, into which the image is drawn.
        this.bmp = new Bitmap(
            toolStrip.Size.Width,
            toolStrip.Size.Height);

        // Draw a fancy pattern. This could be any image or drawing.
        using (Graphics g = Graphics.FromImage(bmp))
        {
            // Draw smoothed lines.
            g.SmoothingMode = SmoothingMode.AntiAlias;

            // Draw the image. In this case, it is 
            // a number of concentric ellipses. 
            for (int i = 0; i < toolStrip.Size.Width; i += 8)
            {
                g.DrawEllipse(Pens.Blue, 0, 0, i, i);
            }
        }
    }

    // This method draws a border around the GridStrip control.
    protected override void OnRenderToolStripBorder(
        ToolStripRenderEventArgs e)
    {
        base.OnRenderToolStripBorder(e);

        ControlPaint.DrawFocusRectangle(
            e.Graphics,
            e.AffectedBounds,
            SystemColors.ControlDarkDark,
            SystemColors.ControlDarkDark);
    }

    // This method renders the GridStrip control's background.
    protected override void OnRenderToolStripBackground(
        ToolStripRenderEventArgs e)
    {
        base.OnRenderToolStripBackground(e);

        // This late initialization is a workaround. The gradient
        // depends on the bounds of the GridStrip control. The bounds 
        // are dependent on the layout engine, which hasn't fully
        // performed layout by the time the Initialize method runs.
        if (this.backgroundBrush == null)
        {
            this.backgroundBrush = new LinearGradientBrush(
               e.ToolStrip.ClientRectangle,
               SystemColors.ControlLightLight,
               SystemColors.ControlDark,
               90,
               true);
        }

        // Paint the GridStrip control's background.
        e.Graphics.FillRectangle(
            this.backgroundBrush, 
            e.AffectedBounds);
    }

    // This method draws a border around the button's image. If the background
    // to be rendered belongs to the empty cell, a string is drawn. Otherwise,
    // a border is drawn at the edges of the button.
    protected override void OnRenderButtonBackground(
        ToolStripItemRenderEventArgs e)
    {
        base.OnRenderButtonBackground(e);

        // Define some local variables for convenience.
        Graphics g = e.Graphics;
        GridStrip gs = e.ToolStrip as GridStrip;
        ToolStripButton gsb = e.Item as ToolStripButton;

        // Calculate the rectangle around which the border is painted.
        Rectangle imageRectangle = new Rectangle(
            borderThickness, 
            borderThickness, 
            e.Item.Width - 2 * borderThickness, 
            e.Item.Height - 2 * borderThickness);

        // If rendering the empty cell background, draw an 
        // explanatory string, centered in the ToolStripButton.
        if (gsb == gs.EmptyCell)
        {
            e.Graphics.DrawString(
                "Drag to here",
                gsb.Font, 
                SystemBrushes.ControlDarkDark,
                imageRectangle, style);
        }
        else
        {
            // If the button can be a drag source, paint its border red.
            // otherwise, paint its border a dark color.
            Brush b = gs.IsValidDragSource(gsb) ? b = 
                Brushes.Red : SystemBrushes.ControlDarkDark;

            // Draw the top segment of the border.
            Rectangle borderSegment = new Rectangle(
                0, 
                0, 
                e.Item.Width, 
                imageRectangle.Top);
            g.FillRectangle(b, borderSegment);

            // Draw the right segment.
            borderSegment = new Rectangle(
                imageRectangle.Right,
                0,
                e.Item.Bounds.Right - imageRectangle.Right,
                imageRectangle.Bottom);
            g.FillRectangle(b, borderSegment);

            // Draw the left segment.
            borderSegment = new Rectangle(
                0,
                0,
                imageRectangle.Left,
                e.Item.Height);
            g.FillRectangle(b, borderSegment);

            // Draw the bottom segment.
            borderSegment = new Rectangle(
                0,
                imageRectangle.Bottom,
                e.Item.Width,
                e.Item.Bounds.Bottom - imageRectangle.Bottom);
            g.FillRectangle(b, borderSegment);
        }
    }
}

.NET Framework
Disponível desde 2.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: