Export (0) Print
Expand All

ToolStripItem.Owner Property

Gets or sets the owner of this item.

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

[BrowsableAttribute(false)]
public ToolStrip Owner { get; set; }

Property Value

Type: System.Windows.Forms.ToolStrip
The ToolStrip that owns or is to own the ToolStripItem.

Owner returns the ToolStrip whose Items collection contains the current ToolStripItem. This is the best way to reference ImageList or other properties in the top-level ToolStrip without writing special code to handle overflow.

The Owner remains the same even if the item falls into the ToolStripOverflow. The Owner can be null for certain elements that are in the DisplayedItems collection but not in the Items collection.

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

// This method defines the painting behavior of the control. 
// It performs the following operations: 
// 
// Computes the layout of the item's image and text. 
// Draws the item's background image. 
// Draws the item's image. 
// Draws the item's text. 
// 
// Drawing operations are implemented in the  
// RolloverItemRenderer class. 
protected override void OnPaint(PaintEventArgs e)
{
    base.OnPaint(e);

    if (this.Owner != null)
    {
        // Find the dimensions of the image and the text  
        // areas of the item.  
        this.ComputeImageAndTextLayout();

        // Draw the background. This includes drawing a highlighted  
        // border when the mouse is in the client area.
        ToolStripItemRenderEventArgs ea = new ToolStripItemRenderEventArgs(
             e.Graphics,
             this);
        this.Owner.Renderer.DrawItemBackground(ea);

        // Draw the item's image. 
        ToolStripItemImageRenderEventArgs irea =
            new ToolStripItemImageRenderEventArgs(
            e.Graphics,
            this,
            imageRect );
        this.Owner.Renderer.DrawItemImage(irea);

        // If the item is on a drop-down, give its 
        // text a different highlighted color.
        Color highlightColor = 
            this.IsOnDropDown ?
            Color.Salmon : SystemColors.ControlLightLight;

        // Draw the text, and highlight it if the  
        // the rollover state is true.
        ToolStripItemTextRenderEventArgs rea =
            new ToolStripItemTextRenderEventArgs(
            e.Graphics,
            this,
            base.Text,
            textRect,
            this.rolloverValue ? highlightColor : base.ForeColor,
            base.Font,
            base.TextAlign);
        this.Owner.Renderer.DrawItemText(rea);
    }
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft