開始ウィンドウが閉じたときにアプリケーションが終了するように停止します
複数のウィンドウがない場合、別のウィンドウ(Form2)が表示されると、開始ウィンドウ(Form1)が閉じられます。目標は、Form1を閉じた後でもアプリケーションを実行し続けることです。 回答:
問題は、メインアプリケーションスレッドのデフォルトの動作です。この問題を解決するには:
プログラムのコードを変更して、ウィンドウの閉鎖イベントを監視するために:
フォームクロースイベント処理プログラムを実装:
<code class="language-csharp">[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += new FormClosedEventHandler(FormClosed); main.Show(); Application.Run(); }</code>form1を閉じると、formclosedイベント処理プログラムを削除し、次の開いたウィンドウにイベントを添付します。
<code class="language-csharp">static void FormClosed(object sender, FormClosedEventArgs e) { ((Form)sender).FormClosed -= FormClosed; if (Application.OpenForms.Count == 0) Application.ExitThread(); else Application.OpenForms[0].FormClosed += FormClosed; }</code>
これらの変更により、Form1がオフになった後もアプリケーションが操作され、後続のウィンドウは期待どおりに機能し続けます。
以上がスタートアップフォームを閉じた後にWindowsフォームのアプリケーションを実行し続けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。