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:
[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += new FormClosedEventHandler(FormClosed); main.Show(); Application.Run(); }
static void FormClosed(object sender, FormClosedEventArgs e) { ((Form)sender).FormClosed -= FormClosed; if (Application.OpenForms.Count == 0) Application.ExitThread(); else Application.OpenForms[0].FormClosed += FormClosed; }
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!