ToolStrip Control Overview (Windows Forms)

The ToolStrip and its associated classes provide a common interface for producing user interface elements for Windows Forms.ToolStrip controls offer a rich design-time experience that includes in-place activation and editing, custom layout, and rafting, which is the ability of toolbars to share horizontal or vertical space.

Although ToolStrip replaces and adds functionality to the control in previous versions, ToolBar is retained for both backward compatibility and future use if desired.

Features of the ToolStrip Controls

Use the ToolStrip control to:

  • Present a common user interface across containers.

  • Create easily customized, commonly employed toolbars that support advanced user interface and layout features, such as docking, rafting, buttons with text and images, drop-down buttons and controls, overflow buttons, and run-time reordering of ToolStrip items.

  • Support overflow and run-time item reordering.

  • Support the typical appearance and behavior of the operating system through a common rendering model.

  • Handle events consistently for all containers and contained items, in the same way you handle events for other controls.

  • Drag items from one ToolStrip to another or within a ToolStrip.

  • Create drop-down controls and user interface type editors with advanced layouts in a ToolStripDropDown.

Use the ToolStripControlHost class to use other controls on a ToolStrip and gain ToolStrip functionality for them.

You can extend the functionality and modify the appearance and behavior by using the ToolStripRenderer, ToolStripProfessionalRenderer, and ToolStripManager along with the ToolStripRenderMode and ToolStripManagerRenderMode enumerations.

The ToolStrip control is highly configurable and extensible, and it provides many properties, methods, and events to customize appearance and behavior. Below are some noteworthy members:

Important ToolStrip Members

Name Description

Dock

Gets or sets which edge of the parent container a ToolStrip is docked to.

AllowItemReorder

Gets or sets a value indicating whether drag-and-drop and item reordering are handled privately by the ToolStrip class.

LayoutStyle

Gets or sets a value indicating how the ToolStrip lays out its items.

Overflow

Gets or sets whether a ToolStripItem is attached to the ToolStrip or ToolStripOverflowButton or can float between the two.

IsDropDown

Gets a value indicating whether a ToolStripItem displays other items in a drop-down list when the ToolStripItem is clicked.

OverflowButton

Gets the ToolStripItem that is the overflow button for a ToolStrip with overflow enabled.

Renderer

Gets or sets a ToolStripRenderer used to customize the appearance and behavior (look and feel) of a ToolStrip.

RenderMode

Gets or sets the painting styles to be applied to the ToolStrip.

RendererChanged

Raised when the Renderer property changes.

The ToolStrip control's flexibility is achieved through the use of a number of companion classes. Below are some of the most noteworthy:

Important ToolStrip Companion Classes

Name Description

MenuStrip

Replaces and adds functionality to the MainMenu class.

StatusStrip

Replaces and adds functionality to the StatusBar class.

ContextMenuStrip

Replaces and adds functionality to the ContextMenu class.

ToolStripItem

Abstract base class that manages events and layout for all the elements that a ToolStrip, ToolStripControlHost, or ToolStripDropDown can contain.

ToolStripContainer

Provides a container with a panel on each side of the form in which controls can be arranged in various ways.

ToolStripRenderer

Handles the painting functionality for ToolStrip objects.

ToolStripProfessionalRenderer

Provides Microsoft Office-style appearance.

ToolStripManager

Controls ToolStrip rendering and rafting, and the merging of MenuStrip, ToolStripDropDownMenu, and ToolStripMenuItem objects.

ToolStripManagerRenderMode

Specifies the painting style (custom, Windows XP, or Microsoft Office Professional) applied to multiple ToolStrip objects contained in a form.

ToolStripRenderMode

Specifies the painting style (custom, Windows XP, or Microsoft Office Professional) applied to one ToolStrip object contained in a form.

ToolStripControlHost

Hosts other controls that are not specifically ToolStrip controls but for which you want ToolStrip functionality.

ToolStripItemPlacement

Specifies whether a ToolStripItem is to be laid out on the main ToolStrip, on the overflow ToolStrip, or neither.

For more information, see ToolStrip Technology Summary and ToolStrip Control Architecture.

See Also

Reference

ToolStrip
MenuStrip
ContextMenuStrip
StatusStrip
ToolStripItem
ToolStripDropDown