The easiest way is to make the login form the first form.
Then, when they have correctly logged in, create an instance of your new form, and hook into the FormClosed event.
frmMain fm = new FrmMain();
fm.FormClosed += new FormClosedEventHandler(frmMain_FormClosed);
Show the new form with Form.Show() and use Hide on your login form.
When the FormClosed event fires, your handler can either re-display the login form with Show() or exit the application.
If you set the login form ShowInTaskbar to false then no icon will appear either.
Freudian slip in the ShowInTaskbar property...[/edit]