Confirmer quitter à la fermeture d'une application en C#
Mise à jour, déménagement de tout le contenu vers le site:
http://www.while-true-do.com
Les articles ont été rénovés et de nouveaux ont été ajoutés.
1. Objectif
Cet article concerne le codage d’une confirmation demandée à l’utilisateur avant de quitter une application Windows classique à base de formulaires en C# (WinForms). Il est possible de quitter l’application de plusieurs manières : (1) Activer l’option de menu, (2) appuyer sur un bouton, (3) cliquer sur X en haut à gauche de la fenêtre Windows ou enfin (4) appuyer sur les touches Alt-F4.
//----------------------------------------------------------- // demande au user confirmation pour quitter, // renvoie true si confirmé private bool AskConfirmQuitAppli() { // message confirmation quitter l'application if(MessageBox.Show("Quitter l'application?", "Message de confirmation" , MessageBoxButtons.YesNo) == DialogResult.No) { // non return false; }; // oui, quitter return true; } //----------------------------------------------------------- // event déclenchée par Close() // déclenche ensuite event Closed sauf si annulé private void MainForm_Closing( object sender, System.ComponentModel.CancelEventArgs e) { //non confirmé, opération annulée, ne déclenche pas event Closed if(AskConfirmQuitAppli()==false) e.Cancel= true; } //----------------------------------------------------------- // bouton 'quitter' private void button1_Click(object sender, System.EventArgs e) { // déclenche closing (demande de confirmation) Close(); } //----------------------------------------------------------- // menu 'quitter' private void menuItem3_Click(object sender, System.EventArgs e) { // déclenche closing (demande de confirmation) Close(); } |
4. Bibliographie
http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemWindowsFormsFormClassClosingTopic.asp
Aide MSND, évènement Closing