Form.OnClosing(CancelEventArgs) Methode

Definition

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

e
CancelEventArgs

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.

Gilt für:

Weitere Informationen