Maison >développement back-end >C++ >Comment faire fonctionner une application Windows Desktop après la fermeture du formulaire principal?
Garder votre application Windows Desktop en cours d'exécution après la fermeture du formulaire initial
De nombreuses applications de bureau Windows nécessitent un fonctionnement continu même après la fermeture du formulaire initial (démarrage). Cacher simplement le formulaire de démarrage à l'aide de la méthode Hide()
n'est pas idéal, car l'application reste active même avec toutes les formes cachées.
Une solution plus élégante consiste à ajuster le point d'entrée de l'application dans Program.cs
. Le comportement par défaut termine automatiquement l'application lorsque le formulaire principal se ferme. Voici comment changer cela:
FormClosed
de votre formulaire principal. Application.OpenForms.Count
. Si aucun formulaire n'est ouvert, quittez gracieusement l'application en utilisant Application.ExitThread()
. Sinon, attachez le gestionnaire d'événements au prochain formulaire ouvert. Voici le code Program.cs
modifié:
<code class="language-csharp"> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var main = new Form1(); main.FormClosed += FormClosed; // Attach the event handler main.Show(); Application.Run(); } static void FormClosed(object sender, FormClosedEventArgs e) { ((Form)sender).FormClosed -= FormClosed; // Detach from closed form if (Application.OpenForms.Count == 0) Application.ExitThread(); // Exit if no forms remain else Application.OpenForms[0].FormClosed += FormClosed; // Attach to the next form }</code>
Cette approche raffinée garantit que votre application continue en cours d'exécution comme prévu après la fermeture du formulaire initial, offrant une expérience utilisateur plus lisse et plus contrôlée, et ne sortant proprement que lorsque tous les formulaires sont fermés.
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!