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 à savoir 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 par ou d’ajouter le message à un multiligne TextBox.
Pour exécuter l’exemple de code, collez-le dans un projet qui contient un instance de type Form nommé 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 en cours de fermeture. Lorsqu’un formulaire est fermé, il est supprimé, ce qui 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 passé à votre gestionnaire d’événements sur true
.
Lorsqu’un formulaire s’affiche sous forme de boîte de dialogue modale, le fait de cliquer sur le bouton Fermer (bouton avec un X en haut à droite du formulaire) entraîne la masquage du formulaire et la définition de la DialogResult propriété sur DialogResult.Cancel
. 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.
Notes
Lorsque la Close méthode est appelée sur un Form affiché sous la forme d’une fenêtre sans mode, vous ne pouvez pas appeler la Show méthode pour rendre le formulaire visible, car les ressources du formulaire ont déjà été libérées. Pour masquer un formulaire et le rendre visible, utilisez la Hide méthode .
Si le formulaire est un formulaire parent MDI (Multi-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 ne soit déclenché. De même, les FormClosed événements de tous les formulaires enfants MDI sont déclenchés avant que l’événement FormClosed du formulaire parent MDI ne soit déclenché. 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
sur dans le formulaire parent MDI.
Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.