チュートリアル : ステータス バー情報の実行時更新
重要
StatusStrip コントロールと ToolStripStatusLabel コントロールは、StatusBar コントロールおよび StatusBarPanel コントロールに代わると共に追加の機能を提供します。ただし、StatusBar コントロールおよび StatusBarPanel コントロールは、下位互換性を保つ目的および将来使用する目的で、必要に応じて保持できます。
アプリケーション状態やユーザーとの対話に応じて、実行時にステータス バー パネルの内容を更新することが必要な場合があります。 これは、CapsLock キー、NumLock キー、ScrollLock キーなどのキーが有効化されたことをユーザーに通知したり、日付や時刻を便利な情報として表示するためによく使用される方法です。
StatusBarPanel クラスのインスタンスを使用して時計をホストする例を次に示します。
ステータス バーを更新できる状態にするには
新しい Windows フォームを作成します。
フォームに StatusBar コントロールを追加します。 詳細については、「方法 : Windows フォームにコントロールを追加する」を参照してください。
ステータス バー パネルを StatusBar コントロールに追加します。 詳細については、「方法 : StatusBar コントロールにパネルを追加する」を参照してください。
フォームに追加した StatusBar コントロールで、ShowPanels プロパティを true に設定します。
Windows フォームの Timer コンポーネントをフォームに追加します。
注意
Windows フォームの System.Windows.Forms.Timer コンポーネントは、Windows フォーム環境向けにデザインされています。 サーバー環境に適したタイマーが必要な場合は、「サーバー ベースのタイマの概要」を参照してください。
Enabled プロパティを true に設定します。
ステータス バーを更新するタイマーを実装するには
次のコードを Timer コンポーネントのイベント ハンドラーに挿入して、StatusBar コントロールのパネルを更新します。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick StatusBar1.Panels(0).Text = Now.ToShortTimeString End Sub
private void timer1_Tick(object sender, System.EventArgs e) { statusBar1.Panels[0].Text = DateTime.Now.ToShortTimeString(); }
private: System::Void timer1_Tick(System::Object ^ sender, System::EventArgs ^ e) { statusBar1->Panels[0]->Text = DateTime::Now.ToShortTimeString(); }
この時点でアプリケーションを実行できる状態になるので、テータス バー パネルの時計の動作を確認します。
アプリケーションをテストするには
アプリケーションをデバッグし、F5 キーを押して実行します。 デバッグの詳細については、「Visual Studio でのデバッグ」を参照してください。
注意
ステータス バーに時計が表示されるまでに、約 30 秒かかります。 これは、できるだけ正確な時刻を表示するためです。 逆に、時計を早く表示するには、上の手順 7. で Interval プロパティの設定値を小さくします。
参照
処理手順
方法 : StatusBar コントロールにパネルを追加する
方法 : Windows フォームの StatusBar コントロールでクリックされたパネルを確認する