Form.FormClosing Form.FormClosing Form.FormClosing Form.FormClosing Event

Définition

Se produit avant la fermeture du formulaire.Occurs before the form is closed.

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 

Exemples

L’exemple suivant illustre l’utilisation de ce membre.The following example demonstrates the use of this member. Dans l’exemple, un gestionnaire d’événements signale l’occurrence de l’événement FormClosing.In the example, an event handler reports on the occurrence of the FormClosing event. Ce rapport vous aide à savoir quand l’événement se produit et peut vous aider à effectuer un débogage.This report helps you to learn when the event occurs and can assist you in debugging. Pour signaler plusieurs événements ou sur des événements qui se produisent fréquemment, envisagez de remplacer MessageBox.Show par Console.WriteLine ou d’ajouter le message à un TextBox multiligne.To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Pour exécuter l’exemple de code, collez-le dans un projet qui contient une instance de type Form nommée Form1.To run the example code, paste it into a project that contains an instance of type Form named Form1. Assurez-vous ensuite que le gestionnaire d’événements est associé à l’événement FormClosing.Then ensure that the event handler is associated with the FormClosing event.

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 lors de la fermeture du formulaire.The FormClosing event occurs as the form is being closed. Quand un formulaire est fermé, il est supprimé, libérant toutes les ressources associées au formulaire.When a form is closed, it is disposed, releasing all resources associated with the form. Si vous annulez cet événement, le formulaire reste ouvert.If you cancel this event, the form remains opened. Pour annuler la fermeture d’un formulaire, définissez la propriété Cancel du FormClosingEventArgs passé à votre gestionnaire d’événements sur true.To cancel the closure of a form, set the Cancel property of the FormClosingEventArgs passed to your event handler to true.

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 dans l’angle supérieur droit du formulaire) permet de masquer le formulaire et de définir la propriété DialogResult sur DialogResult.Cancel.When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel. Vous pouvez remplacer la valeur assignée à la propriété DialogResult quand l’utilisateur clique sur le bouton Fermer en définissant la propriété DialogResult dans un gestionnaire d’événements pour l’événement FormClosing du formulaire.You can override the value assigned to the DialogResult property when the user clicks the Close button by setting the DialogResult property in an event handler for the FormClosing event of the form.

Notes

Lorsque la méthode Close est appelée sur un Form affiché en tant que fenêtre non modale, vous ne pouvez pas appeler la méthode Show pour rendre le formulaire visible, car les ressources du formulaire ont déjà été libérées.When the Close method is called on a Form displayed as a modeless window, you cannot call the Show method to make the form visible, because the form's resources have already been released. Pour masquer un formulaire et le rendre visible, utilisez la méthode Hide.To hide a form and then make it visible, use the Hide method.

Si le formulaire est un formulaire parent MDI (multiple-document interface), les événements FormClosing de tous les formulaires enfants MDI sont déclenchés avant le déclenchement de l’événement FormClosing du formulaire parent MDI.If the form is a multiple-document interface (MDI) parent form, the FormClosing events of all MDI child forms are raised before the MDI parent form's FormClosing event is raised. De même, les événements FormClosed de tous les formulaires enfants MDI sont déclenchés avant le déclenchement de l’événement FormClosed du formulaire parent MDI.Likewise, the FormClosed events of all MDI child forms are raised before the FormClosed event of the MDI parent form is raised. L’annulation de l’événement FormClosing d’un formulaire enfant MDI n’empêche pas le déclenchement de l’événement FormClosing du formulaire parent MDI.Canceling the FormClosing event of an MDI child form does not prevent the FormClosing event of the MDI parent form from being raised. Toutefois, l’annulation de l’événement aura pour valeur true la propriété Cancel de la classe FormClosingEventArgs qui est passée en tant que paramètre au formulaire parent.However, canceling the event will set to true the Cancel property of the FormClosingEventArgs class that is passed as a parameter to the parent form. Pour forcer la fermeture de tous les formulaires MDI parent et enfant, définissez la propriété Cancel sur false dans le formulaire MDI parent.To force all MDI parent and child forms to close, set the Cancel property to false in the MDI parent form.

Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.For more information about handling events, see Handling and Raising Events.

S’applique à

Voir aussi