1000 が近いけれど質問です。

Form1、Form2、Form3 と 3 つのフォームを作り、Form1 と Form2 には button1 を
置きます。また、Form3.ShowInTaskbar = false とします。

Form1 の button1_Click() を以下のようにします。

private void button1_Click(object sender, EventArgs e)
{
    Form2 f2 = new Form2();
    f2.ShowDialog(this);
    f2.Dispose();
    this.Show();
}

Form2 では、Form2_Shown() と button1_Click() を以下のように書きます。

private void Form2_Shown(object sender, EventArgs e)
{
    this.Owner.Hide();
}

private void button1_Click(object sender, EventArgs e)
{
    Form3 f3 = new Form3();
    f3.ShowDialog(this);
    f3.Dispose();
}