Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe ToolStripRenderer

 

Data di pubblicazione: ottobre 2016

Gestisce la funzionalità di disegno per ToolStrip oggetti.

Spazio dei nomi:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)


public abstract class ToolStripRenderer

NomeDescrizione
System_CAPS_protmethodToolStripRenderer()

Inizializza una nuova istanza della classe ToolStripRenderer.

NomeDescrizione
System_CAPS_pubmethodSystem_CAPS_staticCreateDisabledImage(Image)

Crea una copia con gradazioni di grigio di una determinata immagine.

System_CAPS_pubmethodDrawArrow(ToolStripArrowRenderEventArgs)

Disegna una freccia su un ToolStripItem.

System_CAPS_pubmethodDrawButtonBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un ToolStripButton.

System_CAPS_pubmethodDrawDropDownButtonBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un ToolStripDropDownButton.

System_CAPS_pubmethodDrawGrip(ToolStripGripRenderEventArgs)

Disegna un quadratino di spostamento un ToolStrip.

System_CAPS_pubmethodDrawImageMargin(ToolStripRenderEventArgs)

Disegna lo spazio intorno a un'immagine su un ToolStrip.

System_CAPS_pubmethodDrawItemBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un ToolStripItem.

System_CAPS_pubmethodDrawItemCheck(ToolStripItemImageRenderEventArgs)

Disegna un'immagine su un ToolStripItem che indica l'elemento è selezionato.

System_CAPS_pubmethodDrawItemImage(ToolStripItemImageRenderEventArgs)

Disegna un'immagine su un ToolStripItem.

System_CAPS_pubmethodDrawItemText(ToolStripItemTextRenderEventArgs)

Disegna un testo in un ToolStripItem.

System_CAPS_pubmethodDrawLabelBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un ToolStripLabel.

System_CAPS_pubmethodDrawMenuItemBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un ToolStripMenuItem.

System_CAPS_pubmethodDrawOverflowButtonBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo per un pulsante di overflow.

System_CAPS_pubmethodDrawSeparator(ToolStripSeparatorRenderEventArgs)

Disegna un oggetto ToolStripSeparator.

System_CAPS_pubmethodDrawSplitButton(ToolStripItemRenderEventArgs)

Disegna un oggetto ToolStripSplitButton.

System_CAPS_pubmethodDrawStatusStripSizingGrip(ToolStripRenderEventArgs)

Disegna un riquadro di ridimensionamento.

System_CAPS_pubmethodDrawToolStripBackground(ToolStripRenderEventArgs)

Disegna lo sfondo per un ToolStrip.

System_CAPS_pubmethodDrawToolStripBorder(ToolStripRenderEventArgs)

Disegna il bordo di un ToolStrip.

System_CAPS_pubmethodDrawToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs)

Disegna lo sfondo di ToolStripContentPanel.

System_CAPS_pubmethodDrawToolStripPanelBackground(ToolStripPanelRenderEventArgs)

Disegna lo sfondo di ToolStripPanel.

System_CAPS_pubmethodDrawToolStripStatusLabelBackground(ToolStripItemRenderEventArgs)

Disegna lo sfondo di ToolStripStatusLabel.

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_protmethodInitialize(ToolStrip)

Quando sottoposto a override in una classe derivata, fornisce l'inizializzazione personalizzata di dato ToolStrip.

System_CAPS_protmethodInitializeContentPanel(ToolStripContentPanel)

Inizializza l'oggetto specificato ToolStripContentPanel.

System_CAPS_protmethodInitializeItem(ToolStripItem)

Quando sottoposto a override in una classe derivata, fornisce l'inizializzazione personalizzata di dato ToolStripItem.

System_CAPS_protmethodInitializePanel(ToolStripPanel)

Inizializza l'oggetto specificato ToolStripPanel.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_protmethodOnRenderArrow(ToolStripArrowRenderEventArgs)

Genera l'evento RenderArrow.

System_CAPS_protmethodOnRenderButtonBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderButtonBackground.

System_CAPS_protmethodOnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderGrip(ToolStripGripRenderEventArgs)

Genera l'evento RenderGrip.

System_CAPS_protmethodOnRenderImageMargin(ToolStripRenderEventArgs)

Disegna lo sfondo di un elemento.

System_CAPS_protmethodOnRenderItemBackground(ToolStripItemRenderEventArgs)

Genera l'evento OnRenderItemBackground.

System_CAPS_protmethodOnRenderItemCheck(ToolStripItemImageRenderEventArgs)

Genera l'evento RenderItemCheck.

System_CAPS_protmethodOnRenderItemImage(ToolStripItemImageRenderEventArgs)

Genera l'evento RenderItemImage.

System_CAPS_protmethodOnRenderItemText(ToolStripItemTextRenderEventArgs)

Genera l'evento RenderItemText.

System_CAPS_protmethodOnRenderLabelBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderLabelBackground.

System_CAPS_protmethodOnRenderMenuItemBackground(ToolStripItemRenderEventArgs)

Genera l'evento RenderMenuItemBackground.

System_CAPS_protmethodOnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs)
System_CAPS_protmethodOnRenderSeparator(ToolStripSeparatorRenderEventArgs)

Genera l'evento RenderSeparator.

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

Genera l'evento RenderToolStripBackground.

System_CAPS_protmethodOnRenderToolStripBorder(ToolStripRenderEventArgs)

Genera l'evento RenderToolStripBorder.

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

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Applica F:System.Windows.Forms.ToolStripRenderer.Offset2X e F:System.Windows.Forms.ToolStripRenderer.Offset2Y specificati per il ridimensionamento dell'icona freccia, se il ridimensionamento è richiesto in base alle impostazioni DPI del computer.

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

NomeDescrizione
System_CAPS_protfieldSystem_CAPS_staticOffset2X

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Ottiene o imposta il moltiplicatore offset per un valore doppio dell'offset lungo l'asse x.

System_CAPS_protfieldSystem_CAPS_staticOffset2Y

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Ottiene o imposta il moltiplicatore offset per un valore doppio dell'offset lungo l'asse y.

NomeDescrizione
System_CAPS_pubeventRenderArrow

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

System_CAPS_pubeventRenderButtonBackground

Si verifica quando lo sfondo per un ToolStripButton viene eseguito il rendering

System_CAPS_pubeventRenderDropDownButtonBackground

Si verifica quando lo sfondo per un ToolStripDropDownButton viene eseguito il rendering.

System_CAPS_pubeventRenderGrip

Si verifica quando il quadratino di spostamento per una ToolStrip viene eseguito il rendering.

System_CAPS_pubeventRenderImageMargin

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

System_CAPS_pubeventRenderItemBackground

Si verifica quando lo sfondo per un ToolStripItem viene eseguito il rendering.

System_CAPS_pubeventRenderItemCheck

Si verifica quando l'immagine di un oggetto selezionato ToolStripItem viene eseguito il rendering.

System_CAPS_pubeventRenderItemImage

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

System_CAPS_pubeventRenderItemText

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

System_CAPS_pubeventRenderLabelBackground

Si verifica quando lo sfondo per un ToolStripLabel viene eseguito il rendering.

System_CAPS_pubeventRenderMenuItemBackground

Si verifica quando lo sfondo per un ToolStripMenuItem viene eseguito il rendering.

System_CAPS_pubeventRenderOverflowButtonBackground

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

System_CAPS_pubeventRenderSeparator

Si verifica quando un ToolStripSeparator viene eseguito il rendering.

System_CAPS_pubeventRenderSplitButtonBackground

Si verifica quando lo sfondo per un ToolStripSplitButton viene eseguito il rendering.

System_CAPS_pubeventRenderStatusStripSizingGrip

Si verifica quando viene modificato lo stile di visualizzazione.

System_CAPS_pubeventRenderToolStripBackground

Si verifica quando lo sfondo per un ToolStrip viene eseguito il rendering.

System_CAPS_pubeventRenderToolStripBorder

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

System_CAPS_pubeventRenderToolStripContentPanelBackground

Disegna lo sfondo di un ToolStripContentPanel.

System_CAPS_pubeventRenderToolStripPanelBackground

Disegna lo sfondo di un ToolStripPanel.

System_CAPS_pubeventRenderToolStripStatusLabelBackground

Disegna lo sfondo di un ToolStripStatusLabel.

Utilizzare la ToolStripRenderer classe per applicare uno stile particolare o un tema a un ToolStrip. Invece di un disegno personalizzato un ToolStrip e ToolStripItem oggetti in esso contenuti, si imposta la ToolStrip.Renderer proprietà a un oggetto che eredita da ToolStripRenderer. Il disegno specificato dal ToolStripRenderer viene applicato per il ToolStrip, nonché gli elementi che contiene.

È possibile eseguire il disegno personalizzato in ToolStrip controlli in diversi modi. Come con altri controlli Windows Form, il ToolStrip e ToolStripItem dispongono sottoponibile a override OnPaint metodi e Paint gli eventi. Come per il disegno standard, il sistema di coordinate è relativo all'area client del controllo. l'angolo superiore sinistro del controllo è 0, 0. Il Paint eventi e OnPaint metodo per un ToolStripItem si comportano come gli altri eventi di disegno del controllo.

La ToolStripRenderer classe dispone di metodi sottoponibili a override per il disegno di sfondo, sfondo elemento, immagine dell'elemento, elemento freccia, testo dell'elemento e bordo del ToolStrip. Gli argomenti dell'evento per questi metodi espongono diverse proprietà, ad esempio rettangoli, colori e formati di testo che è possibile modificare come desiderato.

Per regolare solo alcuni aspetti della modalità di disegno di un elemento, in genere l'override di ToolStripRenderer.

Se si sta scrivendo un nuovo elemento e si desidera controllare tutti gli aspetti del disegno, eseguire l'override di OnPaint metodo. Dall'interno OnPaint, è possibile utilizzare metodi di ToolStripRenderer.

Per impostazione predefinita, il ToolStrip è a doppio buffering, sfruttando il OptimizedDoubleBuffer impostazione.

L'esempio di codice seguente illustra come implementare una classe ToolStripRenderer personalizzata. La GridStripRenderer classe consente di definire tre aspetti di GridStrip l'aspetto del controllo: GridStrip bordo, ToolStripButton bordo, e ToolStripButton immagine. Per un elenco completo di codice, vedere Procedura: implementare un oggetto ToolStripRenderer personalizzato.

// 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
Disponibile da 2.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: