Maison >développement back-end >C++ >Comment séquencer correctement l'ouverture et la fermeture d'un formulaire en C# ?

Comment séquencer correctement l'ouverture et la fermeture d'un formulaire en C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-06 13:21:43450parcourir

How to Properly Sequence Form Opening and Closing in C#?

Comment ouvrir et fermer séquentiellement des formulaires en C#

Lorsque vous travaillez avec plusieurs formulaires dans une application C#, il est souvent nécessaire d'ouvrir un nouveau formulaire, puis fermez le formulaire actuel. Ceci peut être réalisé en suivant les étapes suivantes :

Ouverture d'un nouveau formulaire :

  1. Créez une nouvelle instance de formulaire à l'aide du constructeur approprié, par exemple, var form2 = new Form2();.
  2. Définissez les propriétés du nouveau formulaire selon vos besoins, par exemple form2.Text = "Form 2";.
  3. Utilisez la méthode Show() pour afficher le nouveau formulaire, par exemple form2.Show();.

Fermeture du formulaire actuel :

Contrairement à la solution de Steve, appeler immédiatement this.Close() fermera également le form2 nouvellement ouvert. Pour fermer correctement le formulaire actuel, il est recommandé de le masquer et de se concentrer plutôt sur form2.

private void OnButton1Click(object sender, EventArgs e)
{
    this.Hide();
    var form2 = new Form2();
    form2.Closed += (s, args) => this.Close(); 
    form2.Show();
}

Dans ce code :

  1. this.Hide() masque le formulaire actuel sans le fermer.
  2. Un délégué est ajouté à l'événement Closed de form2, qui ferme le formulaire actuel lorsque form2 ferme.
  3. form2.Show() affiche form2.

Cette approche garantit que le formulaire actuel n'est pas fermé tant que form2 n'est pas fermé, en conservant la séquence appropriée de transitions de formulaire.

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:
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