Hi Bart,
When we close the main form, all the other forms of the application will be
destroyed and the application will exit. At this time, only the main form's
FormClosing event is raised. This behavior is by design.
If you have validation code in this event that must be executed, you should
call the Form.Close method for each open form individually in the
FormClosing event handler of the main form. You could add a public property
e.g. CloseCancel of type bool in each open form and set this property in
the FormClosing event of the open form. Then you check the value of this
property of each open form in the FromClosing event of the main form. If
one open form has the value of 'false' for this property, cancel the
FormClosing event of the main form by setting the
FormClosingEventArgs.Cancel to true.
FYI, if the form is an MDI parent form, the FormClosing event of MDI child
forms are raised before the MDI parent form's FormClosing event is raised
when the user closes the MDI parent form. Canceling the FormClosing event
of an MDI child form does not prevent the FormClosing event of the MDI
parent form being raised. However, canceling the event will set true to the
Cancel property of the CancelEventArgs that is passed as a parameter to
the parent form.
Hope this helps.
If you have anything unclear, please feel free to let me know.
Sincerely,
Linda Liu
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.
Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.