Comment : déterminer le panneau du contrôle StatusBar Windows Forms sur lequel l'utilisateur a cliqué
Important
Les contrôles StatusStrip et ToolStripStatusLabel remplacent les contrôles StatusBar et StatusBarPanel et y ajoutent des fonctionnalités ; toutefois, les contrôles StatusBar et StatusBarPanel sont conservés pour la compatibilité descendante et une utilisation future, si tel est votre choix.
Pour programmer le contrôle StatusBar, contrôle (Windows Forms) pour répondre aux clics de l'utilisateur, utilisez une instruction case dans l'événement PanelClick. L'événement contient un argument (l'argument panel), qui contient une référence à l'objet StatusBarPanel sur lequel le clic est effectué. À l'aide de cette référence, vous pouvez identifier l'index du panneau sur lequel le clic est effectué et, par conséquent, le programme.
Notes
Vérifiez que la propriété ShowPanels du contrôle StatusBar a la valeur true.
Pour identifier le panneau sur lequel l'utilisateur a cliqué
Dans le gestionnaire d'événements PanelClick, utilisez une instruction Select Case (dans Visual Basic) ou switch case (Visual C# ou Visual C++) pour identifier le panneau sur lequel l'utilisateur a cliqué en examinant l'index du panneau dans les arguments d'événement.
L'exemple de code suivant nécessite la présence dans le formulaire d'un contrôle StatusBar, StatusBar1, et de deux objets StatusBarPanel, StatusBarPanel1 et 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++) Placez le code suivant dans le constructeur du formulaire pour inscrire le gestionnaire d'événements.
this.statusBar1.PanelClick += new System.Windows.Forms.StatusBarPanelClickEventHandler (this.statusBar1_PanelClick);
this->statusBar1->PanelClick += gcnew System::Windows::Forms::StatusBarPanelClickEventHandler (this, &Form1::statusBar1_PanelClick);
Voir aussi
Tâches
Comment : définir la taille des panneaux de la barre d'état
Procédure pas à pas : mise à jour des informations de barre d'état au moment de l'exécution