【C#】起動フォームからメインフォームのCALL
目的
アプリ起動時に別途、起動フォームが必要な場合の処理です。
利用シーン
起動時に「起動中...」などのメッセージ画面を出したい場合。
プログラムコード
#region スタートアップ画面表示後(イベント)
private void FstartUp_Shown(object sender, EventArgs e)
{
// frmのDisposeのためtryの外でnewする。
F_Main frm = new F_Main();
try
{
//** メイン画面のShownイベントを結びつけ
frm.Shown += new EventHandler(main_Shown);
//** メイン画面を表示
frm.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,
"起動エラー",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
finally
{
//** モーダルをShowDialogで呼び出しているのでDisposeする
frm.Dispose();
//** メイン画面終了後、自身(スタートアップ)を閉じる
this.Close();
}
}
#endregion
解説
「F_Main」は、実際に起動したいメイン画面。あらかじめデザイナで作っておきます。
技術メモ
フォームをモーダル(ShowDialog)で呼び出した場合、Closeしてもフォームのリソースは解放されません。
リソースを解放するためにDisposeを呼びます。
ちなみにフォームをモーダレス(Show)で呼び出した場合はCloseでOK。
この記事が気に入ったらサポートをしてみませんか?