C# フォームにステータスバーを表示する(StatusStrip)(1/2)

      2017/07/06

Windowsフォームのアプリケーションで「ステータスバー」が表示されていると何かと便利です。
C#のプログラムではステータスバーはStatusStripクラス(System.Windows.Forms名前空間)で作ります。

ステータスバーをフォームデザイナに置いて、実行するだけでは、「ウィンドウの下に何かある」くらいのものになりますのでステータスバーに表示するものを用意します。

 

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

ステータスバー(StatusStrip)にまず、文字列を表示してみます。
StatusStripは、直接文字列などを設定するという方法ではなく、「文字列を表示するコントロールをStatusStripに乗せる」という方法になります。
ステータスバーに文字列を表示するにはToolStripStatusLabelクラスを使用します。

サンプルは下記のようになります。
(statusStrip1はステータスバーであるStatusStripクラスのオブジェクト名です)

 

これだけでステータスバーに文字列が表示できます。

 

ステータスバーに現在時刻を表示する

ステータスバーに固定文字列が表示できるだけだとあまり実感がないので、現在時刻を表示してみます。
現在時刻を表示したりするためには、タイマイベントによる定期チェックと表示更新が必要になります。
ただ、C#(.NET Framework)でタイマイベントでフォームの描画更新を行うのはちょっとお作法がありますが、今回の本題からはそれますのでそちらは割愛させていただきます。

サンプルは下記のようになります。

 

実際にステータスバーに表示するために必要な処理は、色をつけた行だけなのですが、一定間隔で安全に描画更新を行うためにはこういった処理が必要になります。

 - 未分類