ToolStrip Class

Provides a container for Windows toolbar objects.

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

public class ToolStrip : ScrollableControl, IComponent, IDisposable
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class ToolStrip extends ScrollableControl implements IComponent, IDisposable
public class ToolStrip extends ScrollableControl implements IComponent, IDisposable
Not applicable.

ToolStrip is the base class for MenuStrip, StatusStrip, and ContextMenuStrip.

Use ToolStrip and its associated classes in new Windows Forms applications to create toolbars that can have a Windows XP, Office, Internet Explorer, or custom appearance and behavior, all with or without themes, and with support for overflow and run-time item reordering. ToolStrip controls also offer a rich design-time experience that includes in-place activation and editing, custom layout, and sharing of horizontal or vertical space within a specified ToolStripContainer.

The ToolStrip class provides many members that manage painting, mouse and keyboard input, and drag-and-drop functionality. Use the ToolStripRenderer class with the ToolStripManager class to gain even more control and customizability over the painting and layout style of all ToolStrip controls on a Windows Form.

The following items are specifically designed to work seamlessly with both ToolStripSystemRenderer and ToolStripProfessionalRenderer in all orientations. They are available by default at design time for the ToolStrip control:

You can join ToolStrip controls within a specified ToolStripContainer and merge ToolStrip controls with each other. Use ToolStripPanel rather than ToolStripContainer for Multiple Document Interface (MDI) applications. Typically, a ToolStrip does not participate in the tab order unless it is absolutely positioned rather than being docked or in a ToolStripPanel.

Use the ToolStripControlHost class to host any other Windows Forms control in a ToolStrip.

By default, the ToolStrip is double buffered, taking advantage of the OptimizedDoubleBuffer setting.

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

The following code example demonstrates adding a ToolStripContainer and a ToolStrip to a Windows Forms, adding items to the ToolStrip, and adding the ToolStrip to the TopToolStripPanel of the ToolStripContainer.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form
    private ToolStripContainer toolStripContainer1;
    private ToolStrip toolStrip1;

    public Form1()
    static void Main()
        Application.Run(new Form1());

    private void InitializeComponent()
        toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
        toolStrip1 = new System.Windows.Forms.ToolStrip();
        // Add items to the ToolStrip.
        // Add the ToolStrip to the top panel of the ToolStripContainer.
        // Add the ToolStripContainer to the form.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0