Maison >développement back-end >C++ >Comment empêcher la fermeture des applications lors de la fermeture du formulaire de démarrage?
Comment empêcher l'application de fermer la fenêtre de lancement?
Dans le cas de plusieurs fenêtres dans l'application, l'application peut être difficile lorsque l'application se termine lorsque la fenêtre de démarrage est fermée. Cet article traite de la bonne façon de gérer cette situation.
tentative préliminaire
Initialement, vous pouvez essayer d'utiliser le code suivant pour fermer Form1 et afficher Form2:
Cependant, lorsque Form1 est fermé, cela entraînera la fermeture de la Form2. Afin de surmonter ce problème, vous pouvez essayer de masquer Form1 au lieu de le fermer:
<code class="language-c#">Form2 frm = new Form2(); frm.Show(); this.Close();</code>Bien que cela puisse empêcher la fermeture de Form2, elle générera un nouveau désavantage: lorsque Form2 est désactivé, l'application ne sortira pas.
Solution
<code class="language-c#">Form2 frm = new Form2(); frm.Show(); this.Hide();</code>
Afin de résoudre ces deux problèmes, la solution consiste à modifier le code dans le fichier programme.cs, qui définit l'application de l'application dans ce fichier. En ajustant ce code, vous pouvez empêcher la terminaison de l'application lorsque vous fermez la fenêtre de démarrage.
Dans le code modifié suivant, ajoutez le programme de traitement des événements à la fenêtre de démarrage pour surveiller son événement de fermeture:
Lorsque la fenêtre de démarrage est désactivée, le programme de traitement des événements FormClosé sera déclenché:
Cette procédure de traitement des incidents garantit que l'application ne quitte que lorsqu'il n'y a pas d'autres fenêtres. Lorsque la fenêtre à l'extérieur de la fenêtre de démarrage est fermée, le programme de traitement des événements mettra à jour l'auditeur d'événements pour surveiller la fermeture de la prochaine fenêtre ouverte.
<code class="language-c#"> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += new FormClosedEventHandler(FormClosed); main.Show(); Application.Run(); }</code>
En implémentant cette solution, vous pouvez désormais fermer la fenêtre de démarrage sans terminer l'application, ce qui permet à d'autres fenêtres de conserver l'état de l'activité et de permettre à l'application d'exécuter comme prévu.
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!