次の方法で共有


StatusBar クラス

Windows ステータス バー コントロールを表します。

この型のすべてのメンバの一覧については、StatusBar メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Windows.Forms.Control
            System.Windows.Forms.StatusBar

Public Class StatusBar
   Inherits Control
[C#]
public class StatusBar : Control
[C++]
public __gc class StatusBar : public Control
[JScript]
public class StatusBar extends Control

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

通常、 StatusBar コントロールは、それぞれがテキストまたはアイコン (またはその両方) を表示する StatusBarPanel オブジェクトで構成されます。また、オーナー描画パネルを提供して、アプリケーションの状態を表示するプログレス バーや一連のイメージなどのカスタム パネルも提供できます。 StatusBar コントロールは、通常は、 Form に表示されているオブジェクトに関する情報、オブジェクトのコンポーネント、またはアプリケーション内のそのオブジェクトの操作に関連したコンテキスト情報を表示します。

StatusBar コントロールは、コントロールの外観をカスタマイズするためのプロパティを提供します。 StatusBar が、サイズ変更のできるフォームに表示される場合は、 SizingGrip プロパティを使用すると、フォームの右下隅にサイズ変更グリップを表示して、サイズ変更のできるフォームであることをユーザーに示すことができます。 ShowPanels プロパティを使用すると、 StatusBar 内にパネルを表示したり、コントロールの Text プロパティの値だけを表示したりできます。

既定の StatusBar にはパネルがありません。 StatusBar にパネルを追加するには、コントロールの Panels プロパティを通じてアクセスできる StatusBar.StatusBarPanelCollection クラスの Add メソッドを使用します。また、 Panels プロパティを通じて提供される StatusBar.StatusBarPanelCollection オブジェクトを使用して、コントロールからパネルを削除し、特定の StatusBarPanel オブジェクトにアクセスしてパネルを操作することもできます。

StatusBar コントロール内の StatusBarPanel オブジェクトがいつクリックされたかを確認する場合は、 PanelClick イベントのイベント ハンドラを作成します。パネル上でオーナー描画操作を実行するには、 DrawItem イベントのイベント ハンドラを作成します。イベント ハンドラに渡されるイベント データは、描画対象のパネルおよび描画タスクを実行するために使用する Graphics オブジェクトに関する情報を提供します。

StatusBar のインスタンスを作成すると、読み書き可能なプロパティが初期値に設定されます。これらの初期値の一覧については、 StatusBar コンストラクタのトピックを参照してください。

使用例

[Visual Basic, C#, C++] フォームに StatusBar コントロールを作成し、2 つの StatusBarPanel オブジェクトを追加する例を次に示します。 StatusBarPanel オブジェクトの 1 つである panel1 は、アプリケーションのステータス テキストを表示します。 panel2 という名前の 2 番目の StatusBarPanel オブジェクトは、現在の日付を表示し、 StatusBarPanel クラスの ToolTipText プロパティを使用して現在の時刻を表示します。この例では、標準パネルの代わりにこれらのパネルが表示されるようにするために ShowPanels プロパティを使用し、さらに Panels プロパティを使用して StatusBar.StatusBarPanelCollectionAdd メソッドにアクセスして StatusBar にパネルを追加します。また、 StatusBarPanel オブジェクトを初期化するために、 AutoSizeBorderStyleToolTipTextText の各プロパティも使用します。この例は、コード内で定義されたメソッドが定義されており、 Form のコンストラクタから呼び出されることを前提にしています。

 
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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

StatusBar メンバ | System.Windows.Forms 名前空間 | StatusBarPanel | Graphics