AutoSize Property

StatusBarPanel.AutoSize Property


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

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

public StatusBarPanelAutoSize AutoSize { get; set; }

Property Value

Type: System.Windows.Forms.StatusBarPanelAutoSize

One of the StatusBarPanelAutoSize values. The default isNone.

Exception Condition

The value assigned to the property is not a member of the StatusBarPanelAutoSize enumeration.

StatusBarPanel objects set to Contents have precedence over those panels set to the Spring value. For example, a StatusBarPanel that has its AutoSize property set to Spring is shortened if a StatusBarPanel with the AutoSize property set to Contents requires that space.

You can use AutoSize to ensure that the contents of a StatusBarPanel are properly displayed in a StatusBar control that contains more than one panel. For example, you might want a panel that contains text to adjust automatically to the amount of text it is displaying (Contents), while another panel on the StatusBar that displays an owner-drawn progress bar would need to be a fixed size (None).

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
Return to top
© 2015 Microsoft