>>489
だよね。
その書き方だと、this.Close()を呼び出した直後にProgram.csのMain関数が終わってしまう。

そこでMain関数内をループ構造にして、
Application.Runを複数回呼び出せるようにするとどうだろう。
そのタイミングでメインフォームを切り替えるとか。