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 la fermeture des applications lors de la fermeture du formulaire de démarrage?

Barbara Streisand
Libérer: 2025-01-29 10:21:09
original
641 Les gens l'ont consulté

How to Prevent Application Closure When Closing the Startup Form?

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:

Form2 frm = new Form2();
frm.Show();
this.Close();
Copier après la connexion
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
Form2 frm = new Form2();
frm.Show();
this.Hide();
Copier après la connexion

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.
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var main = new Form1();
        main.FormClosed += new FormClosedEventHandler(FormClosed);
        main.Show();
        Application.Run();
    }
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal