Form.Closing É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 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
- 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é à enregistrer les modifications apportées à 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 de .NET Framework 2.0 ; utilisez l’événement à la FormClosing place.
L’événement Closing se produit lorsque le formulaire est en cours de fermeture. 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 passé à votre gestionnaire d’événements sur true
.
Lorsqu’un formulaire s’affiche sous la forme d’une boîte de dialogue modale, cliquez sur le bouton Fermer (le bouton avec un X dans le coin supérieur droit du formulaire) pour masquer le formulaire et définir la DialogResult propriété sur DialogResult.Cancel
. Vous pouvez remplacer la valeur attribué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 affichée 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 Control.Hide méthode .
Attention
Les Form.Closed événements et Form.Closing 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 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 parent MDI, les Closing événements de tous les formulaires enfants MDI sont déclenchés avant que l’événement du Closing 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 est définie sur true
la Cancel propriété de qui CancelEventArgs 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.