This is because you defined Form1 as your main form. You could hide it instead (form1.visible = false;) of closing it.
It is possible to close form1 but you have to run the second form to get the messageloop going again, like this:
Application.Run(new form2());
Good luck!