StatusBarPanel Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Represents a panel in a StatusBar control. Although the StatusStrip control replaces and adds functionality to the StatusBar control of previous versions, StatusBar is retained for both backward compatibility and future use if you choose.

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


public class StatusBarPanel : Component, ISupportInitialize


Initializes a new instance of the StatusBarPanel class.


Gets or sets the alignment of text and icons within the status bar panel.


Gets or sets a value indicating whether the status bar panel is automatically resized.


Gets or sets the border style of the status bar panel.


Gets a value indicating whether the component can raise an event.(Inherited from Component.)


Gets the IContainer that contains the Component.(Inherited from Component.)


Gets a value that indicates whether the Component is currently in design mode.(Inherited from Component.)


Gets the list of event handlers that are attached to this Component.(Inherited from Component.)


Gets or sets the icon to display within the status bar panel.


Gets or sets the minimum allowed width of the status bar panel within the StatusBar control.


Gets or sets the name to apply to the StatusBarPanel.


Gets the StatusBar control that hosts the status bar panel.


Gets or sets the ISite of the Component.(Inherited from Component.)


Gets or sets the style of the status bar panel.


Gets or sets an object that contains data about the StatusBarPanel.


Gets or sets the text of the status bar panel.


Gets or sets ToolTip text associated with the status bar panel.


Gets or sets the width of the status bar panel within the StatusBar control.


Begins the initialization of a StatusBarPanel.


Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.(Inherited from MarshalByRefObject.)


Releases all resources used by the Component.(Inherited from Component.)


Releases the unmanaged resources used by the StatusBarPanel and optionally releases the managed resources. (Overrides Component.Dispose(Boolean).)


Ends the initialization of a StatusBarPanel.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Releases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection.(Inherited from Component.)


Serves as the default hash function. (Inherited from Object.)


Retrieves the current lifetime service object that controls the lifetime policy for this instance.(Inherited from MarshalByRefObject.)


Returns an object that represents a service provided by the Component or by its Container.(Inherited from Component.)


Gets the Type of the current instance.(Inherited from Object.)


Obtains a lifetime service object to control the lifetime policy for this instance.(Inherited from MarshalByRefObject.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Creates a shallow copy of the current MarshalByRefObject object.(Inherited from MarshalByRefObject.)


Retrieves a string that contains information about the panel.(Overrides Component.ToString().)


Occurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)

A StatusBarPanel represents an individual panel in the StatusBar.StatusBarPanelCollection of a StatusBar control. A StatusBarPanel can contain text and/or an icon that can be used to reflect the status of an application. Use the StatusBar.StatusBarPanelCollection, accessible through the StatusBar.Panels property of a StatusBar control, to retrieve, add, or remove an individual StatusBarPanel.

The StatusBarPanel provides properties that enable you to modify the display behavior of a panel within a StatusBar control. You can use the Icon property to display an icon within a panel. This property can be used to provide a graphical representation of state in an application. The Alignment property enables you to specify how text and/or an icon is aligned within the panel. To ensure that your panel is sized properly to fit the text of the panel, you can use the AutoSize property to automatically resize the panel to fit the text of the panel or to fill the remaining space within the StatusBar control. The MinWidth property enables you to specify a minimum width for the panel to ensure that it does not get smaller than the data it is intended to display.

The StatusBar control is typically used to display Help information or state information about your application. Often, it is important to display additional information about data that is presented in a panel. You can use the ToolTipText property to display information whenever the mouse pointer rests on a panel.

Although the StatusBar control is typically used to display textual information, you can also provide your own type of display to a StatusBarPanel. The Style property enables you to specify how the StatusBarPanel will be drawn. By default, the Style property is used to display the value of the Text property (and an icon, if specified in the Icon property). If the property is set to OwnerDraw, you can draw your own information into the panel. You can use this feature to draw a progress bar or an animated icon in the panel.

When you create an instance of the StatusBarPanel class, the read/write properties are set to initial values. For a list of these values, see the StatusBarPanel constructor.

The following code example creates a StatusBar control on a form and adds two StatusBarPanel objects. The first StatusBarPanel, named panel1, displays status text for an application. The second StatusBarPanel, named panel2, displays the current date and uses the ToolTipText property of the StatusBarPanel class to display the current time. The example uses the ShowPanels property to ensure that the panels are displayed instead of a standard panel, and it uses the Panels property to access the Add method of the StatusBar.StatusBarPanelCollection to add the panels to the StatusBar. The example also uses the AutoSize, BorderStyle, ToolTipText, and Text properties to initialize the StatusBarPanel objects. This example assumes that the method defined in the example is defined and called from the constructor of a Form.

private void CreateMyStatusBar()
	// Create a StatusBar control.
	StatusBar statusBar1 = new StatusBar();
	// Create two StatusBarPanel objects to display in the StatusBar.
	StatusBarPanel panel1 = new StatusBarPanel();
	StatusBarPanel panel2 = new StatusBarPanel();

	// Display the first panel with a sunken border style.
	panel1.BorderStyle = StatusBarPanelBorderStyle.Sunken;
	// Initialize the text of the panel.
	panel1.Text = "Ready...";
	// Set the AutoSize property to use all remaining space on the StatusBar.
	panel1.AutoSize = StatusBarPanelAutoSize.Spring;

	// Display the second panel with a raised border style.
	panel2.BorderStyle = StatusBarPanelBorderStyle.Raised;

	// Create ToolTip text that displays time the application was 
	panel2.ToolTipText = "Started: " + System.DateTime.Now.ToShortTimeString();
	// Set the text of the panel to the current date.
	panel2.Text = System.DateTime.Today.ToLongDateString();
	// Set the AutoSize property to size the panel to the size of the contents.
	panel2.AutoSize = StatusBarPanelAutoSize.Contents;

	// Display panels in the StatusBar control.
	statusBar1.ShowPanels = true;

	// Add both panels to the StatusBarPanelCollection of the StatusBar.			

	// Add the StatusBar to the form.

.NET Framework
Available since 1.1

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

Return to top