Maison > développement back-end > C++ > Comment maintenir une application Windows Forms en cours d'exécution après la fermeture du formulaire de démarrage?

Comment maintenir une application Windows Forms en cours d'exécution après la fermeture du formulaire de démarrage?

Linda Hamilton
Libérer: 2025-01-29 10:33:10
original
219 Les gens l'ont consulté

How to Keep a Windows Forms Application Running After Closing the Startup Form?

L'application est arrêtée pour se terminer lorsque la fenêtre de départ est fermée

Question: Le traitement de la fenêtre ferme l'événement pour empêcher l'application de terminer

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:

  1. Implémentez le programme de traitement d'événements FormClosé:
<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>
Copier après la connexion
  1. Ce code garantit:
<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>
Copier après la connexion
Lors de la fermeture du formulaire 1, il supprimera le programme de traitement des événements FormClosé et joignera l'événement à la prochaine fenêtre ouverte.

S'il n'y a plus de fenêtres ouvertes, l'application est terminée.
  • Sinon, le programme de traitement des événements continuera de surveiller la clôture de l'événement pour s'assurer que l'application ne sortira qu'après la fermeture des fenêtres.
  • Grâce à ces modifications, l'application sera exploitée même après la désactivation du formulaire1 et que la fenêtre suivante continuera de fonctionner 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!

source:php.cn
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