Start by using the debugger: put a breakpoint at the top of each handler method and when they hit look at the
FormClosingEventArgs.Cancel
property in the first.
If you look at the documentation:
FormClosingEventArgs Class (System.Windows.Forms) | Microsoft Learn[
^] it says:
Quote:
If a form has any child or owned forms, a FormClosing event is also raised for each one. If any one of the forms cancels the event, none of the forms are closed. Therefore the corresponding FormClosed events are not sent to any of the forms.
So check what other forms you have open and see if any of them are canceling the close.