Export (0) Print
Expand All

StatusBar.StatusBarPanelCollection Class

Represents the collection of panels in a StatusBar control.

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

System.Object
   System.Windows.Forms.StatusBar.StatusBarPanelCollection

[Visual Basic]
Public Class StatusBar.StatusBarPanelCollection
   Implements IList, ICollection, IEnumerable
[C#]
public class StatusBar.StatusBarPanelCollection : IList,
   ICollection, IEnumerable
[C++]
public __gc class StatusBar.StatusBarPanelCollection : public
   IList, ICollection, IEnumerable
[JScript]
public class StatusBar.StatusBarPanelCollection implements IList,
   ICollection, IEnumerable

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

The StatusBar.StatusBarPanelCollection class stores the panels displayed in the StatusBar. Each object in the collection is an instance of the StatusBarPanel class which defines the display characteristics and behaviors of a panel displayed in a StatusBar.

There are a number of ways to add panels to the collection. The Add method provides the ability to add a single panel to the collection. To add a number of panels to the collection, you create an array of StatusBarPanel objects and assign it to the AddRange method. If you want to insert a panel at a specific location within the collection, you can use the Insert method. To remove panels, you can use either the Remove method or the RemoveAt method if you know where the panel is located within the collection. The Clear method enables you to remove all panels from the collection instead of using the Remove method to remove a single panel at a time.

In addition to methods and properties for adding and removing panels, the StatusBar.StatusBarPanelCollection also provides methods to find panels within the collection. The Contains method enables you to determine whether a panel is a member of the collection. Once you know that the panel is located within the collection, you can use the IndexOf method to determine where the panel is located within the collection.

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 and 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

StatusBar.StatusBarPanelCollection Members | System.Windows.Forms Namespace | StatusBarPanel

Show:
© 2014 Microsoft