Possibly something as simple as showing Form2 from with Form1's initialization, then hiding Form1 until Form2 closes?
Here's a dirty sample:
public partial class Form1 : Form
{
public Form2 frm2 = new Form2();
public Form1()
{
InitializeComponent();
Hide();
frm2.ShowDialog();
Show();
}
}
Form1 doesn't get a chance to be seen until Form2 closes.