Export (0) Print
Expand All

StatusBarPanel Class

Represents a panel in a StatusBar control.

For a list of all members of this type, see StatusBarPanel Members.

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Windows.Forms.StatusBarPanel

[Visual Basic]
Public Class StatusBarPanel
   Inherits Component
   Implements ISupportInitialize
[C#]
public class StatusBarPanel : Component, ISupportInitialize
[C++]
public __gc class StatusBarPanel : public Component,
   ISupportInitialize
[JScript]
public class StatusBarPanel extends Component implements
   ISupportInitialize

Thread Safety

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

Remarks

A StatusBarPanel object represents an individual panel in the StatusBar.StatusBarPanelCollection of a StatusBar control. A StatusBarPanel object 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 object.

The StatusBarPanel object 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 autosize 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 user hovers the cursor over 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 StatusBarPanelStyle.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 StatusBarPanel, the read/write properties are set to initial values. For a list of these values, see the StatusBarPanel constructor.

Example

[Visual Basic, C#, C++] The following example creates a StatusBar control on a form and adds two StatusBarPanel objects. One of the StatusBarPanel objects, named panel1, displays status text for an application. The second StatusBarPanel object, 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.

[Visual Basic] 
Private Sub CreateMyStatusBar()
   ' Create a StatusBar control.
   Dim statusBar1 As New StatusBar()
   ' Create two StatusBarPanel objects to display in the StatusBar.
   Dim panel1 As New StatusBarPanel()
   Dim panel2 As 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 the current time.
   panel2.ToolTipText = 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.            
   statusBar1.Panels.Add(panel1)
   statusBar1.Panels.Add(panel2)

   ' Add the StatusBar to the form.
   Me.Controls.Add(statusBar1)
End Sub

[C#] 
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 the current time.
    panel2.ToolTipText = 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.            
    statusBar1.Panels.Add(panel1);
    statusBar1.Panels.Add(panel2);

    // Add the StatusBar to the form.
    this.Controls.Add(statusBar1);
}

[C++] 
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 = S"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 the current time.
        panel2->ToolTipText = 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.            
        statusBar1->Panels->Add(panel1);
        statusBar1->Panels->Add(panel2);

        // Add the StatusBar to the form.
        this->Controls->Add(statusBar1);
    }

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Namespace: System.Windows.Forms

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

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

See Also

StatusBarPanel Members | System.Windows.Forms Namespace | StatusBarPanel

Show:
© 2014 Microsoft