Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
Form.Closing-Ereignis
Tritt beim Schließen des Formulars ein.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Vorsicht
|
|---|
|
Das Closing-Ereignis ist in .NET Framework, Version 2.0, veraltet. Verwenden Sie stattdessen das FormClosing-Ereignis. |
Das Closing-Ereignis tritt ein, während das Formular geschlossen wird. Wenn ein Formular geschlossen wird, werden alle im Objekt erstellten Ressourcen und das Formular freigegeben. Wenn Sie dieses Ereignis abbrechen, bleibt das Formular geöffnet. Um das Schließen eines Formulars abzubrechen, legen Sie die Cancel-Eigenschaft der CancelEventArgs-Klasse, die an den Ereignishandler übergeben wird, auf true fest.
Bei einem als modales Dialogfeld angezeigten Formular wird durch Klicken auf die Schaltfläche Schließen (die Schaltfläche mit einem X in der rechten oberen Ecke des Formulars) das Formular ausgeblendet, und die DialogResult-Eigenschaft wird auf DialogResult.Cancel festgelegt. Sie können den Wert überschreiben, der der DialogResult-Eigenschaft beim Klicken auf die Schaltfläche Schließen zugewiesen wird, indem Sie die DialogResult-Eigenschaft in einem Ereignishandler für das Closing-Ereignis des Formulars festlegen.
Hinweis
|
|---|
|
Wenn für eine als nicht modales Fenster angezeigte Form die Close-Methode aufgerufen wird, kann das Formular nicht wieder mit der Show-Methode angezeigt werden, da die Ressourcen des Formulars bereits freigegeben wurden. Zum Ausblenden eines Formulars und zum anschließenden Einblenden verwenden Sie die Control.Hide-Methode. |
Vorsicht
|
|---|
|
Das Form.Closed-Ereignis und das Form.ClosingEreignis werden nicht ausgelöst, wenn zum Beenden der Anwendung die Application.Exit-Methode aufgerufen wird. Wenn in einem dieser beiden Ereignisse Validierungscode enthalten ist, der ausgeführt werden muss, sollten Sie die Form.Close-Methode für jedes Formular einzeln aufrufen, bevor die Exit-Methode aufgerufen wird. |
Wenn das Formular ein übergeordnetes MDI-Formular ist, werden die Closing-Ereignisse aller untergeordneten MDI-Formulare ausgelöst, bevor das Closing-Ereignis des übergeordneten MDI-Formulars ausgelöst wird. Außerdem werden die Closed-Ereignisse aller untergeordneten MDI-Formulare ausgelöst, bevor das Closed-Ereignis des übergeordneten MDI-Formulars ausgelöst wird. Durch Abbrechen des Closing-Ereignisses eines untergeordneten MDI-Formulars wird nicht verhindert, dass das Closing-Ereignis des übergeordneten MDI-Formulars ausgelöst wird. Durch Abbrechen des Ereignisses wird jedoch die Cancel-Eigenschaft von CancelEventArgs auf true festgelegt, die als Parameter an das übergeordnete Formular übergeben wird. Wenn Sie erzwingen möchten, dass sämtliche über- und untergeordneten MDI-Formulare geschlossen werden, müssen Sie für die Cancel-Eigenschaft im übergeordneten MDI-Formular false festlegen.
Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln von Ereignissen.
Im folgenden Codebeispiel wird mit Closing getestet, ob sich der Text in einer TextBox geändert hat. Wenn dies zutrifft, wird der Benutzer gefragt, ob die Änderungen der Datei gespeichert werden sollen.
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... } } }
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Vorsicht
Hinweis