新しいフォームを作成し、C# でメイン フォームを破棄したい。どうすればこれを行うことができますか?
var fw2 = new Form2();
fw2.Show();
this.Dispose();
このコードは、2 番目のフォームを 1 秒間表示して、プログラムを閉じます。何か案は?
新しいフォームを作成し、C# でメイン フォームを破棄したい。どうすればこれを行うことができますか?
var fw2 = new Form2();
fw2.Show();
this.Dispose();
このコードは、2 番目のフォームを 1 秒間表示して、プログラムを閉じます。何か案は?
私は Program クラスでこの種のことをしました。Main メソッドで通常見られる以下のコードをループに入れただけです。
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
メイン フォームが閉じられると、コードは「Run」メソッドを離れ、アプリケーション グローバル変数をチェックして新しいフォームをレンダリングする必要があるかどうかを確認するループに入ります。
新しいフォームを開きたいだけの場合、これはやり過ぎですが、メインフォームを定期的に「交換」している場合は非常にうまく機能するようです。
私のコードは(少し)このように見えます...
while (true)
{
if (AppSettings.SomeFormSettng = FormSetting.ShowAnotherForm)
{
Form showThisForm = AppSettngs.TheForm;
if (ThisIsTheFirstRun)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ThisIsTheFirstRun = false;
}
Application.Run(new showThisForm ());
}
else
{
return;
}
}