Tip: Use Form.Close() opposed to Application.Exit()

When closing your application from code, for example in the File | Exit menu you should use Form.Close() (ie this.Close() or Me.Close) opposed to Application.Exit().  When calling Application.Exit everything is told to stop immediately and then the appplication is shutdown.  Resulting in events like Form.Closed and Form_Closing not being fired.  The MSDN documentation explains more precisely what happens - Application Exit Method 

GOOD

private void mnuFileExit_Click(object sender, System.EventArgs e) {
    this.Close(); // Closes application nicely as you would expect.
}

private void FormMain_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
    // Gets Fired, Yeah!
}

BAD
private void mnuFileExit_Click(object sender, System.EventArgs e) {
Application.Exit(); // Brings application to a screeching halt. Leads to bugs.
}

private void FormMain_Closing(object sender, System.ComponentModel.CancelEventArgs e) {
    // Does not get fired, :(
}