L'application est arrêtée pour se terminer lorsque la fenêtre de départ est fermée
En l'absence de plusieurs fenêtres, la fenêtre de démarrage (Form1) est fermée lorsqu'une autre fenêtre (form2) s'affiche. L'objectif est de maintenir l'exécution de l'application même après la fermeture du formulaire1.
Réponse:
Le problème est le comportement par défaut du thread d'application principal. Pour résoudre ce problème:
Modifiez le code dans programme.cs pour surveiller l'événement de clôture de la fenêtre:
<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>
<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>
S'il n'y a plus de fenêtres ouvertes, l'application est terminée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!