次の方法で共有


チュートリアル: 実行時のステータス バー情報の更新

重要

StatusStrip コントロールと ToolStripStatusLabel コントロールは、StatusBar コントロールと StatusBarPanel コントロールに機能を置き換えて追加します。ただし、StatusBar コントロールと StatusBarPanel コントロールは、下位互換性と将来の使用の両方で保持されます (選択した場合)。

多くの場合、プログラムでは、アプリケーションの状態や他のユーザー操作の変更に基づいて、実行時にステータス バー パネルの内容を動的に更新するよう求められます。 これは、CAPS LOCK、NUM LOCK、SCROLL LOCK などのキーが有効であることをユーザーに通知したり、日付や時計を便利な参照として提供したりする一般的な方法です。

次の例では、 StatusBarPanel クラスのインスタンスを使用してクロックをホストします。

ステータス バーを更新する準備をするには

  1. 新しい Windows フォームを作成します。

  2. フォームに StatusBar コントロールを追加します。 詳細については、「 方法: Windows フォームにコントロールを追加する」を参照してください。

  3. StatusBar コントロールにステータス バー パネルを追加します。 詳細については、「 方法: StatusBar コントロールにパネルを追加する」を参照してください。

  4. フォームに追加した StatusBar コントロールで、 ShowPanels プロパティを true に設定します。

  5. Windows フォーム Timer コンポーネントをフォームに追加します。

    Windows フォーム System.Windows.Forms.Timer コンポーネントは、Windows フォーム環境向けに設計されています。 サーバー環境に適したタイマーが必要な場合は、「Server-Based タイマーの概要 参照してください。

  6. Enabled プロパティを trueに設定します。

  7. IntervalTimer プロパティを 30000 に設定します。

    Interval コンポーネントの Timer プロパティは、正確な時刻が表示時間に反映されるように、30 秒 (30,000 ミリ秒) に設定されます。

タイマーを実装してステータス バーを更新するには

  1. 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();
      }
    

    この時点で、アプリケーションを実行し、ステータス バー パネルで実行されているクロックを確認する準備ができました。

アプリケーションをテストするには

  1. アプリケーションをデバッグし、F5 キーを押して実行します。 デバッグの詳細については、「 Visual Studio でのデバッグ」を参照してください。

    時計がステータス バーに表示されるまでに約 30 秒かかります。 これは、可能な限り最も正確な時間を取得するためです。 逆に、クロックが早く表示されるようにするには、前の手順 7 で設定した Interval プロパティの値を小さくします。

こちらも参照ください