Hi,
suppose that you have a C# form with two buttons, that are the
classical "btnOk" and "btnCancel" (besides them, of course in
the form there can be many other controls).
When the user clicks on btnOk, the program makes some confirm
operations and closes the form.
When the user clicks on btnCancel, the program makes some cancel
operations and closes the form.
My problem is that, when the user clicks on the "X" button of the
form caption bar, the form simply closes, while I would like that the
program made the same cancel operations as in the btnCancel click case.
I have discovered that the Form class has the "OnClosing" event
handler (that is executed when the form closes), but I can't insert
the cancel statements in its code (it is executed when the user clicks
on btnOk and btnCancel too, so the program would execute two times the
cancel operations or first the confirm operations and then the cancel
ones).
Is there a form event handler for the "X" form button click?
Or is there a form property that allows to associate the "X" form
button click to a button inside the form (btnCancel, in this case)?
Otherwise, can you propose me a simple way to handle this situation?
Thank you very much
DeveloperX - 10 Nov 2006 15:19 GMT
In the eventargs for OnClosing you'll find a cancel property. If you
set that to true the form will not close. Create a member variable set
to true and set it to false when the user clicks either the cancel or
ok buttons.
That's not the tidiest route, but it will work.
> Hi,
> suppose that you have a C# form with two buttons, that are the
[quoted text clipped - 18 lines]
> Otherwise, can you propose me a simple way to handle this situation?
> Thank you very much
Dave Sexton - 10 Nov 2006 16:03 GMT
Hi,
In the 2.0 framework use the FormClosing event instead of Closing, which is
now obsolete because it isn't raised when Application.Exit is called. Same
goes for the FormClosed and Closed events.
"Form.FormClosing Event"
http://msdn2.microsoft.com/en-us/library/system.windows.forms.form.formclosing.aspx

Signature
Dave Sexton
> In the eventargs for OnClosing you'll find a cancel property. If you
> set that to true the form will not close. Create a member variable set
[quoted text clipped - 25 lines]
>> Otherwise, can you propose me a simple way to handle this situation?
>> Thank you very much