Share via


方法: Windows フォームの StatusBar コントロールでクリックされたパネルを確認する

重要

StatusStrip コントロールと ToolStripStatusLabel コントロールによって、StatusBar コントロールと StatusBarPanel コントロールの機能が置換および追加されていますが、下位互換性を維持し、今後必要に応じて使用できるように、StatusBar コントロールと StatusBarPanel コントロールが保持されています。

ユーザーのクリックに応答するように StatusBar Control コントロールをプログラミングするには、PanelClick イベント内で case ステートメントを使用します。 イベントには、クリックされた StatusBarPanel への参照を含む引数 (パネル引数) が含まれます。 この参照を使用して、クリックされたパネルのインデックスを確認し、それに応じてプログラミングを行うことができます。

注意

StatusBar コントロールの ShowPanels プロパティが、確実に true に設定されているようにしてください。

クリックされたパネルを確認するには

  1. PanelClick イベント ハンドラーで、Select Case ステートメント (Visual Basic) または switch case ステートメント (Visual C# または Visual C++) を使用し、イベント引数内でクリックされたパネルのインデックスを調べて、クリックされたパネルを確認します。

    次のコード例では、StatusBar コントロール、StatusBar1 と 2 つの StatusBarPanel オブジェクト、StatusBarPanel1StatusBarPanel2 がフォーム上に存在している必要があります。

    Private Sub StatusBar1_PanelClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.StatusBarPanelClickEventArgs) Handles StatusBar1.PanelClick  
       Select Case StatusBar1.Panels.IndexOf(e.StatusBarPanel)  
         Case 0  
           MessageBox.Show("You have clicked Panel One.")  
         Case 1  
           MessageBox.Show("You have clicked Panel Two.")  
       End Select  
    End Sub  
    
    private void statusBar1_PanelClick(object sender,
    System.Windows.Forms.StatusBarPanelClickEventArgs e)  
    {  
       switch (statusBar1.Panels.IndexOf(e.StatusBarPanel))  
       {  
          case 0 :  
             MessageBox.Show("You have clicked Panel One.");  
             break;  
          case 1 :  
             MessageBox.Show("You have clicked Panel Two.");  
             break;  
       }  
    }  
    
    private:  
       void statusBar1_PanelClick(System::Object ^  sender,  
          System::Windows::Forms::StatusBarPanelClickEventArgs ^  e)  
       {  
          switch (statusBar1->Panels->IndexOf(e->StatusBarPanel))  
          {  
             case 0 :  
                MessageBox::Show("You have clicked Panel One.");  
                break;  
             case 1 :  
                MessageBox::Show("You have clicked Panel Two.");  
                break;  
          }  
       }  
    

    (Visual C#、Visual C++) フォームのコンストラクターに次のコードを配置して、イベント ハンドラーを登録します。

    this.statusBar1.PanelClick += new
       System.Windows.Forms.StatusBarPanelClickEventHandler
       (this.statusBar1_PanelClick);  
    
    this->statusBar1->PanelClick += gcnew  
       System::Windows::Forms::StatusBarPanelClickEventHandler  
       (this, &Form1::statusBar1_PanelClick);  
    

関連項目