DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

ステータスバーに文字列を表示する

ここでは、フォームにステータスバー(通常ウィンドウの下に付いているバー)を設置する基本的な方法を紹介します。.NET Framework 2.0以降ではStatusStripコントロール、それ以外ではStatusBarコントロールを使用します。

StatusStripコントロールに文字列を表示する

.NET Framework 2.0以降では、ステータスバーにStatusStripコントロールを使用します。StatusStripコントロールに文字列を表示するには、ToolStripStatusLabelをStatusStripに追加して、ToolStripStatusLabelのTextプロパティに表示したい文字列を設定します。

Visual Studioを使って、StatusStripコントロールにToolStripStatusLabelを追加する手順を以下に示します。

  1. もしStatusStripコントロールがフォームにまだ配置されていないなら、Visual Studioのフォームデザイナを使って配置します。具体的には、ツールボックスにある「StatusStrip」をフォームにドラッグ&ドロップします。
    ツールボックス
  2. フォームに配置されたStatusStripコントロールを選択すると、下矢印が表示されます。この下矢印をクリックしてメニューを表示し、「StatusLabel」を選択します。
    StatusLabelの追加
  3. これでStatusStripコントロールにToolStripStatusLabelが追加されました。
    StatusLabelが追加されたStatusStrip

このようにして追加したToolStripStatusLabelのTextプロパティに表示したい文字列を設定します。例えば、「toolStripStatusLabel1」という名前のToolStripStatusLabelに現在の時刻を表示するには、次のようなコードを書きます。

VB.NET
コードを隠すコードを選択
'toolStripStatusLabel1に現在の時刻を表示する
toolStripStatusLabel1.Text = String.Format("現在の時刻は {0} です", _
                                           DateTime.Now.ToShortTimeString())
C#
コードを隠すコードを選択
//toolStripStatusLabel1に現在の時刻を表示する
toolStripStatusLabel1.Text = string.Format("現在の時刻は {0} です",
    DateTime.Now.ToShortTimeString());

StatusLabelに現在の時刻を表示

StatusBarコントロールに文字列を表示する

.NET Framework 1.1以前にはStatusStripコントロールがありませんので、ステータスバーにStatusBarコントロールを使用します。

StatusBarコントロールに文字列を表示するには、StatusBar.Textプロパティを使用します。この時、StatusBar.ShowPanelsプロパティがFalseである必要があります。

例えば、「statusBar1」という名前のStatusBarコントロールに現在の時刻を表示するには、次のようにします。

VB.NET
コードを隠すコードを選択
'statusBar1に現在の時刻を表示する
statusBar1.Text = String.Format("現在の時刻は {0} です", _
                                DateTime.Now.ToShortTimeString())
C#
コードを隠すコードを選択
//statusBar1に現在の時刻を表示する
statusBar1.Text = string.Format("現在の時刻は {0} です",
    DateTime.Now.ToShortTimeString());

statusBarPanel1に現在の時刻を表示する

パネルに表示する

StatusBarコントロールには、パネルを追加することもできます。パネルに文字列を表示するには、StatusBarPanel.Textプロパティを使います。この時、StatusBarコントロールのShowPanelsプロパティをTrueにしないと、パネルが表示されません。

以下に、StatusBarコントロールにパネルを追加する手順を示します。

  1. もしStatusBarコントロールがフォームにまだ配置されていないなら、Visual Studioのフォームデザイナを使って配置します。具体的には、ツールボックスにある「StatusBar」をフォームにドラッグ&ドロップします。
    ツールボックスにあるStatusBar
  2. フォームに配置されたStatusBarコントロールを選択して、プロパティウィンドウの「ShowPanels」を「True」にします。
    「ShowPanels」を「True」に
  3. 続いて、プロパティウィンドウの「Panels」の右にあるボタンをクリックします。
    「Panels」の右にあるボタン
  4. 「StatusBarPanelコレクションエディター」が表示されますので、「追加」ボタンをクリックして、新しいパネルを追加します。
    StatusBarPanelコレクションエディター
  5. これでStatusBarコントロールにパネルが追加されました。

追加されたパネルの名前が「statusBarPanel1」であった時、ここに現在の時刻を表示するには、次のようなコードを書きます。

VB.NET
コードを隠すコードを選択
'statusBarPanel1に現在の時刻を表示する
statusBarPanel1.Text = String.Format("現在の時刻は {0} です", _
                                     DateTime.Now.ToShortTimeString())
C#
コードを隠すコードを選択
//statusBarPanel1に現在の時刻を表示する
statusBarPanel1.Text = string.Format("現在の時刻は {0} です",
    DateTime.Now.ToShortTimeString());

statusBarPanel1に現在の時刻を表示する

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。