Form.OnClosing(CancelEventArgs) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löst das Closing-Ereignis aus.
protected:
virtual void OnClosing(System::ComponentModel::CancelEventArgs ^ e);
protected virtual void OnClosing (System.ComponentModel.CancelEventArgs e);
abstract member OnClosing : System.ComponentModel.CancelEventArgs -> unit
override this.OnClosing : System.ComponentModel.CancelEventArgs -> unit
Protected Overridable Sub OnClosing (e As CancelEventArgs)
Parameter
Ein CancelEventArgs, das die Ereignisdaten enthält.
Beispiele
Im folgenden Beispiel wird verwendet Closing , um zu testen, ob sich der Text in einem TextBox geändert hat. Falls vorhanden, wird der Benutzer gefragt, ob die Änderungen an einer 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...
}
}
}
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
Hinweise
Achtung
Die OnClosing -Methode ist ab dem .NET Framework 2.0 veraltet. Verwenden Sie stattdessen die OnFormClosing -Methode.
Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Behandeln und Auslösen von Ereignissen.
Mit der OnClosing-Methode können auch abgeleitete Klassen das Ereignis ohne Anfügen eines Delegaten behandeln. Das Überschreiben dieser Methode ist die bevorzugte Methode für die Behandlung des Ereignisses in einer abgeleiteten Klasse.
Achtung
Die OnClosed Methoden und OnClosing werden nicht aufgerufen, wenn die Application.Exit -Methode aufgerufen wird, um Ihre Anwendung zu beenden. Wenn Sie in einer dieser Methoden über Validierungscode verfügen, der ausgeführt werden muss, sollten Sie die Form.Close -Methode für jedes geöffnete Formular einzeln aufrufen, bevor Sie die Exit -Methode aufrufen.
Hinweise für Vererber
Wenn Sie OnClosing(CancelEventArgs) in einer abgeleiteten Klasse überschreiben, müssen Sie die OnClosing(CancelEventArgs)-Methode der Basisklasse aufrufen, damit registrierte Delegaten das Ereignis empfangen.