以下のようにする。
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
(new Form1()).Show();
// フォームが全て閉じられるまでプログラム実行を継続
var oTimer = new System.Windows.Forms.Timer();
oTimer.Interval = 1000;
oTimer.Tick += delegate(object sender, EventArgs e)
{
if (Application.OpenForms.Count == 0)
{
Application.Exit();
}
};
oTimer.Start();
Application.Run();
}普通はこんなことしなくても「Application.Run(new Form1());」でよいのだが、表示するフォームが取得できない場合に上の方法を使った。