IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Comment fermer une fenêtre et ses parents en même temps ?


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut [C#] Comment fermer une fenêtre et ses parents en même temps ?
    Bonjour,

    J'ai une fenêtre F1, qui ouvre une fenêtre enfant F2 qui elle même ouvre une autre fenêtre enfant F3.

    Lorsque je quitte la fenêtre F3 (bouton quitter sur la fenêtre) je voudrais que la fenêtre F2 soit également fermée, mais pas F1.

    Merci pour votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    suffit de gérer la fermeture des fenetres ou bien que la fenetre F2 s'abonne à l'evenement de fermeture de la fenetre F3.. et sur fermeture de F3, F2 fait un close();
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Membre habitué Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Points : 149
    Points
    149
    Par défaut
    Salut

    Essayes ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     // Bouton dans f3 qui ferme  f2 et f3
    private void button1_Click(object sender, EventArgs e)
    {
          this.Dispose(); // ou Close()
          Application.OpenForms["Form2"].Dispose();
     
    }
    Mais n'oublies pas de mettre la même chose dans Troisiemeform_FormClosing(..) et Troisiemeform_FormClosed(...) si tu veux fermer avec la petite croix

    Bonne chance
    --<< Il n y a que les clous qui ne plantent pas >>---

  4. #4
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    Merci, ça marche très bien

  5. #5
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Ca fonctionne oui, mais c'est vraiment une tres mauvaise pratique. Premierement pk tu call dispose quand tu veux fermer une form ? Utilise close.


    Tu entre tu par la fenetre de ton char quand tu veux entré dedans ou bien tu utilise la porte comme c'est suposé.


    Ta form3 n'est pas supposé connaitre form2. Donc le code plus haut est tres mauvais. Voici la facon de faire

    Form1 qui start form2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void button1_Click(object sender, EventArgs e)
            {
                Form2 form = new Form2();
                form.Show();
            }
    Form2 qui start form3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     Form3 form = new Form3();
                form.FormClosed += new FormClosedEventHandler(form_FormClosed);
                form.Show();
    Accroche toi dans form2 sur l'événement FormClosed de form3. C'est à ca que ca sert des événement.
    Remoting Context Matters
    Everything in this chapter is 100 percent undocumented. Reliance on these techniques is not supported by either Microsoft, the publisher, or the author of this book. Use at you own risk! If your computer won't work afterwards, your toaster blows up or your car doesn't start, I assume no liability whatsoever: You're now about to enter the uncharted territories of .NET and you do so on your own risk. I can only provide some guidance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment fermer une fenêtre Child dans une application MDI
    Par bahiatoon dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/10/2006, 08h57
  2. Comment fermer une fenêtre externe à l'application ?
    Par Matt2094 dans le forum Delphi
    Réponses: 8
    Dernier message: 30/08/2006, 16h52
  3. Comment fermer une fenêtre dynamique avec onclose
    Par nopnop dans le forum Delphi
    Réponses: 23
    Dernier message: 18/07/2006, 18h08
  4. Comment fermer une fenêtre enfant MDI ?
    Par DeveloMagaly dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/09/2005, 13h10
  5. Comment fermer une fenêtre quand la souris et clavier sont inactifs ?
    Par Goldenkiller dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/12/2004, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo