Form.Closing Événement

Définition

Se produit pendant la fermeture du formulaire.

public:
 event System::ComponentModel::CancelEventHandler ^ Closing;
public event System.ComponentModel.CancelEventHandler Closing;
[System.ComponentModel.Browsable(false)]
public event System.ComponentModel.CancelEventHandler Closing;
member this.Closing : System.ComponentModel.CancelEventHandler 
[<System.ComponentModel.Browsable(false)>]
member this.Closing : System.ComponentModel.CancelEventHandler 
Public Custom Event Closing As CancelEventHandler 

Type d'événement

CancelEventHandler
Attributs

Exemples

L’exemple suivant utilise Closing pour tester si le texte d’un TextBox a changé. Si c’est le cas, l’utilisateur est invité à indiquer s’il faut enregistrer les modifications dans un fichier.

private:
   void Form1_Closing( Object^ /*sender*/, System::ComponentModel::CancelEventArgs^ e )
   {
      // Determine if text has changed in the textbox by comparing to original text.
      if ( textBox1->Text != strMyOriginalText )
      {
         // Display a MsgBox asking the user to save changes or abort.
         if ( MessageBox::Show( "Do you want to save changes to your text?", "My Application", MessageBoxButtons::YesNo ) == ::DialogResult::Yes )
         {
            // Cancel the Closing event from closing the form.
            e->Cancel = true;

            // Call method to save file...
         }
      }
   }
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   // Determine if text has changed in the textbox by comparing to original text.
   if (textBox1.Text != strMyOriginalText)
   {
      // Display a MsgBox asking the user to save changes or abort.
      if(MessageBox.Show("Do you want to save changes to your text?", "My Application",
         MessageBoxButtons.YesNo) ==  DialogResult.Yes)
      {
         // Cancel the Closing event from closing the form.
         e.Cancel = true;
         // Call method to save file...
      }
   }
}
   Private Sub Form1_Closing(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
      ' Determine if text has changed in the textbox by comparing to original text.
      If textBox1.Text <> strMyOriginalText Then
         ' Display a MsgBox asking the user to save changes or abort.
         If MessageBox.Show("Do you want to save changes to your text?", "My Application", MessageBoxButtons.YesNo) = DialogResult.Yes Then
            ' Cancel the Closing event from closing the form.
            e.Cancel = True
         End If ' Call method to save file...
      End If
   End Sub
End Class

Remarques

Attention

l' Closing événement est obsolète à partir de la .NET Framework 2,0 ; utilisez FormClosing plutôt l’événement.

L' Closing événement se produit lors de la fermeture du formulaire. Quand un formulaire est fermé, toutes les ressources créées dans l’objet sont libérées et le formulaire est supprimé. Si vous annulez cet événement, le formulaire reste ouvert. Pour annuler la fermeture d’un formulaire, affectez à la Cancel propriété du CancelEventArgs passé à votre gestionnaire d’événements la valeur 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) entraîne le masquage du formulaire et la définition de la DialogResult propriété DialogResult.Cancel . Vous pouvez remplacer la valeur assigné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' Closing événement du formulaire.

Notes

Quand la Close méthode est appelée sur un Form affiché comme une fenêtre non modale, 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 Control.Hide méthode.

Attention

Les Form.Closed événements et ne Form.Closing sont pas déclenchés lorsque la Application.Exit méthode est appelée pour quitter votre application. Si vous avez un code de validation dans l’un de ces événements qui doit être exécuté, vous devez appeler la Form.Close méthode pour chaque formulaire ouvert individuellement avant d’appeler la Exit méthode.

Si le formulaire est un formulaire MDI parent, les Closing événements de tous les formulaires enfants MDI sont déclenchés avant le déclenchement de l’événement du formulaire parent MDI Closing . En outre, les Closed événements de tous les formulaires enfants MDI sont déclenchés avant le Closed déclenchement de l’événement du formulaire parent MDI. L’annulation Closing de l’événement d’un formulaire enfant MDI n’empêche pas le Closing déclenchement de l’événement du formulaire parent MDI. Toutefois, l’annulation de l’événement aura pour valeur true la Cancel propriété du CancelEventArgs qui est passé comme paramètre au formulaire parent. Pour forcer la fermeture de tous les formulaires MDI parents et enfants, affectez à la propriété la valeur Cancel false dans le formulaire MDI parent.

Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.

S’applique à

Voir aussi