Problem solve Get help with specific problems with your technologies, process and projects.

Windows Forms: Overriding the OnClosing method

Although I spent many years as a UNIX developer using C++ and X-Windows, I am new to MS Windows. I am working on a C# Window Forms app and I want to know how to trap the Window close event (when the user presses the 'X' button in the upper right corner of the form). I use validation methods on my text boxes and have not been able to figure out how to stop the validation event when the user presses the 'X?' Thanks R.B.

The most straightforward way to do it is to override the behavior of the OnClosing method on the Form. Basically, this method passes an argument to the active control to see if it validates, and the Cancel flag on the argument is set accordingly. By overriding the value set on that flag, you can always allow the form to close:

protected override void OnClosing(CancelEventArgs e)
    // Let the default behavior to happen.
    // Do not allow cancellation of the close operation.
    e.Cancel = false;

Dig Deeper on WinForms development

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.