Form.FormClosing Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit avant la fermeture du formulaire.
public:
event System::Windows::Forms::FormClosingEventHandler ^ FormClosing;
public event System.Windows.Forms.FormClosingEventHandler FormClosing;
public event System.Windows.Forms.FormClosingEventHandler? FormClosing;
member this.FormClosing : System.Windows.Forms.FormClosingEventHandler
Public Custom Event FormClosing As FormClosingEventHandler
Type d'événement
Exemples
L’exemple suivant illustre l’utilisation de ce membre. Dans l’exemple, un gestionnaire d’événements signale l’occurrence de l’événement FormClosing . Ce rapport vous aide à apprendre quand l’événement se produit et peut vous aider à déboguer. Pour signaler plusieurs événements ou événements qui se produisent fréquemment, envisagez de MessageBox.ShowConsole.WriteLine remplacer ou d’ajouter le message à un multiligne TextBox.
Pour exécuter l’exemple de code, collez-le dans un projet qui contient une instance de type Form nommée Form1. Vérifiez ensuite que le gestionnaire d’événements est associé à l’événement FormClosing .
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "CloseReason", e.CloseReason );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Cancel", e.Cancel );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "FormClosing Event" );
}
Private Sub Form1_FormClosing(sender as Object, e as FormClosingEventArgs) _
Handles Form1.FormClosing
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "CloseReason", e.CloseReason)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Cancel", e.Cancel)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"FormClosing Event")
End Sub
Remarques
L’événement FormClosing se produit lorsque le formulaire est fermé. Lorsqu’un formulaire est fermé, il est supprimé et libère toutes les ressources associées au formulaire. Si vous annulez cet événement, le formulaire reste ouvert. Pour annuler la fermeture d’un formulaire, définissez la Cancel propriété du FormClosingEventArgs gestionnaire d’événements truesur .
Lorsqu’un formulaire est affiché sous la forme d’une boîte de dialogue modale, le fait de cliquer sur le bouton Fermer (le bouton avec un X en haut à droite du formulaire) entraîne l’affichage du formulaire et la DialogResult propriété à définir DialogResult.Cancelsur . Vous pouvez remplacer la valeur affectée à la DialogResult propriété lorsque l’utilisateur clique sur le bouton Fermer en définissant la DialogResult propriété dans un gestionnaire d’événements pour l’événement FormClosing du formulaire.
Note
Lorsque la Close méthode est appelée sur une Form fenêtre sans mode, vous ne pouvez pas appeler la méthode pour rendre le Show formulaire visible, car les ressources du formulaire ont déjà été libérées. Pour masquer un formulaire, puis le rendre visible, utilisez la Hide méthode.
Si le formulaire est un formulaire parent mDI (multiple document interface), les FormClosing événements de tous les formulaires enfants MDI sont déclenchés avant que l’événement du FormClosing formulaire parent MDI soit déclenché. De même, les FormClosed événements de tous les formulaires enfants MDI sont déclenchés avant l’événement FormClosed du formulaire parent MDI. L’annulation de l’événement FormClosing d’un formulaire enfant MDI n’empêche pas l’événement FormClosing du formulaire parent MDI d’être déclenché. Toutefois, l’annulation de l’événement est définie sur true la Cancel propriété de la FormClosingEventArgs classe qui est passée en tant que paramètre au formulaire parent. Pour forcer la fermeture de tous les formulaires parents et enfants MDI, définissez la Cancel propriété false dans le formulaire parent MDI.
Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.