Export (0) Print
Expand All
Expand Minimize

ToolStripItem.Selected Property

Gets a value indicating whether the item is selected.

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

[BrowsableAttribute(false)]
public virtual bool Selected { get; }

Property Value

Type: System.Boolean
true if the ToolStripItem is selected; otherwise, false.

The following code example demonstrates how to use the Selected property for custom rendering. This code example is part of a larger example provided for the ToolStripItem class.

// This method defines the behavior for rendering the 
// background of a ToolStripItem. If the item is a 
// RolloverItem, it paints the item's BackgroundImage  
// centered in the client area. If the mouse is in the  
// item's client area, a border is drawn around it. 
// If the item is on a drop-down or if it is on the 
// overflow, a gradient is painted in the background. 
protected override void OnRenderItemBackground(
    ToolStripItemRenderEventArgs e)
{
    base.OnRenderItemBackground(e);

    RolloverItem item = e.Item as RolloverItem;

    // If the ToolSTripItem is of type RolloverItem,  
    // perform custom rendering for the background. 
    if (item != null)
    {
        if (item.Placement == ToolStripItemPlacement.Overflow ||
            item.IsOnDropDown)
        {
            using (LinearGradientBrush b = new LinearGradientBrush(
                item.ContentRectangle,
                Color.Salmon,
                Color.DarkRed,
                0f,
                false))
            {
                e.Graphics.FillRectangle(b, item.ContentRectangle);
            }
        }

        // The RolloverItem control only supports  
        // the ImageLayout.Center setting for the 
        // BackgroundImage property. 
        if (item.BackgroundImageLayout == ImageLayout.Center)
        {
            // Get references to the item's ContentRectangle 
            // and BackgroundImage, for convenience.
            Rectangle cr = item.ContentRectangle;
            Image bgi = item.BackgroundImage;

            // Compute the center of the item's ContentRectangle. 
            int centerX = (cr.Width - bgi.Width) / 2;
            int centerY = (cr.Height - bgi.Height) / 2;

            // If the item is selected, draw the background 
            // image as usual. Otherwise, draw it as disabled. 
            if (item.Selected)
            {
                e.Graphics.DrawImage(bgi, centerX, centerY);
            }
            else
            {
                ControlPaint.DrawImageDisabled(
                        e.Graphics,
                        bgi,
                        centerX,
                        centerY,
                        item.BackColor);
            }
        }

        // If the item is in the rollover state,  
        // draw a border around it. 
        if (item.Rollover)
        {
            ControlPaint.DrawFocusRectangle(
                e.Graphics,
                item.ContentRectangle);
        }
    }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft