方法: Windows フォームの StatusBar コントロールでクリックされたパネルを確認する
重要
StatusStrip コントロールと ToolStripStatusLabel コントロールによって、StatusBar コントロールと StatusBarPanel コントロールの機能が置換および追加されていますが、下位互換性を維持し、今後必要に応じて使用できるように、StatusBar コントロールと StatusBarPanel コントロールが保持されています。
ユーザーのクリックに応答するように StatusBar Control コントロールをプログラミングするには、PanelClick イベント内で case ステートメントを使用します。 イベントには、クリックされた StatusBarPanel への参照を含む引数 (パネル引数) が含まれます。 この参照を使用して、クリックされたパネルのインデックスを確認し、それに応じてプログラミングを行うことができます。
注意
StatusBar コントロールの ShowPanels プロパティが、確実に true
に設定されているようにしてください。
クリックされたパネルを確認するには
PanelClick イベント ハンドラーで、
Select Case
ステートメント (Visual Basic) またはswitch case
ステートメント (Visual C# または Visual C++) を使用し、イベント引数内でクリックされたパネルのインデックスを調べて、クリックされたパネルを確認します。次のコード例では、StatusBar コントロール、
StatusBar1
と 2 つの StatusBarPanel オブジェクト、StatusBarPanel1
とStatusBarPanel2
がフォーム上に存在している必要があります。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);
関連項目
.NET Desktop feedback