Form::OnClosing Method (CancelEventArgs^)
Raises the Closing event.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Parameters
- e
-
Type:
System.ComponentModel::CancelEventArgs^
A CancelEventArgs that contains the event data.
Caution |
|---|
The OnClosing method is obsolete in the .NET Framework version 2.0; use the OnFormClosing method instead. |
Raising an event invokes the event handler through a delegate. For more information, see Handling and Raising Events.
The OnClosing method also allows derived classes to handle the event without attaching a delegate. Overriding this method is the preferred technique for handling the event in a derived class.
Caution |
|---|
The OnClosed and OnClosing methods are not called when the Application::Exit method is called to exit your application. If you have validation code in either of these methods that must be executed, you should call the Form::Close method for each open form individually before calling the Exit method. |
Notes to Inheritors:
When overriding OnClosing in a derived class, be sure to call the base class's OnClosing method so that registered delegates receive the event.
The following code example uses Closing to test if the text in a TextBox has changed. If it has, the user is asked whether to save the changes to a 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... } } }
Available since 1.1
