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;
[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 dans un TextBox a changé. S’il y a, l’utilisateur est invité à 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’événement Closing est obsolète à partir du .NET Framework 2.0 ; utilisez l’événement à la FormClosing place.

L’événement Closing se produit lorsque le formulaire est fermé. Lorsqu’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, définissez la Cancel propriété du CancelEventArgs gestionnaire trued’événements sur .

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 situé dans le coin supérieur droit 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 Closing du formulaire.

Notes

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é publiées. Pour masquer un formulaire, puis le rendre visible, utilisez la Control.Hide méthode.

Attention

Les Form.Closed événements et les Form.Closing événements ne sont pas déclenchés lorsque la Application.Exit méthode est appelée pour quitter votre application. Si vous avez du code de validation dans l’un de ces événements qui doivent être exécutés, 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 parent MDI, les Closing événements de tous les formulaires enfants MDI sont déclenchés avant que l’événement Closing du formulaire parent MDI soit déclenché. En outre, les Closed événements de tous les formulaires enfants MDI sont déclenchés avant que l’événement Closed du formulaire parent MDI soit déclenché. L’annulation de l’événement Closing d’un formulaire enfant MDI n’empêche pas l’événement Closing du formulaire parent MDI d’être déclenché. Toutefois, l’annulation de l’événement a la true valeur de la Cancel propriété du CancelEventArgs paramètre passé 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.

S’applique à

Voir aussi