>I put things in QueryUnload which are specific to the user closing the form by the ways that call QueryUnload. I put things in form.Unload which need to be run "no matter how the user [leaves the form]."
The form.Destroy as well. But the for the form to be Released, it has to be called through code, which means the user clicked something. So you can do your data checking before calling release. But if the user clicks the X, the only way you can stop the form from running is in the QueryUnload event. By the time Unload runs, its too late.
Erik Moore
Clientelligence