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 :

Evènement à la fermeture d'une winform enfant


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 36
    Points : 30
    Points
    30
    Par défaut Evènement à la fermeture d'une winform enfant
    Bonjour,
    Je souhaiterais qu'un évènement se produise dans la fenêtre parent au moment où je fais un this.hide(); sur la fenêtre enfant.

    Mais je ne sais pas comment faire.

    J'ai testé avec un while(tant que la fenêtre n'est pas fermée) { j'attend }.

    Mais le problème est que dans ce cas cela bloque complètement l'application...


    Merci d'avance.

  2. #2
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Bonjour,
    - Commencez par ajouter un gestionnaire d'événement public dans la classe de la fenêtre MDI tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            public void MDIChild_VisibleChanged(object sender, EventArgs e)
            {
                if (!((Form)sender).Visible)
                {
                    MessageBox.Show("MDIChild est disparu de vue!");
                }
            }
    - Dans votre classe des forms enfants, inscrivez le gestionnaire d'événement créé au dessus à l'événement VisibleChanged tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void Form1_Load(object sender, EventArgs e)
            {
                this.VisibleChanged += ((MDIParent1)this.MdiParent).MDIChild_VisibleChanged;
            }
    Biensure la propriété MdiParent référence la fenêtre mère du formulaire.

    J'éspère que ça va être util
    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 36
    Points : 30
    Points
    30
    Par défaut
    Merci pour ta réponse. Le problème c'est que je n'ai pas développé l'application en MDI.

    Sinon je ne sais pas si c'est possible de le faire en utilisant un paramètre d'application sous forme de bit, et dès qu'il passe à 0 j'effectue mon action, mais je vais me retrouver bloqué pareil avec une boucle while

  4. #4
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    ça marchera aussi sur n'importe quel Form. Le gestionnaire d'événement dans la classe du form parent ou owner et au moment de la création tu fixe la propriété parent ou plus tot owner pour savoir où diriger l'événement VisibleChanged.

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Si ce que tu veux, c'est mettre une fenêtre en attente d'une autre, alors il suffit d'afficher la form fille avec ShowDialog plutôt que Show. Pas besoin de chercher à détecter la fermeture.
    ಠ_ಠ

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 18/09/2012, 10h45
  2. Evénement sur la fermeture d'une drop down
    Par anapotheque dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 02/02/2009, 13h05
  3. Evénement de fermeture d'une form
    Par abbd dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/04/2008, 15h33
  4. Fermeture d'une fenêtre enfant
    Par fabrice.Croize dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/06/2006, 01h03
  5. Evènement sur le body lors de la fermeture d'une fenêtre
    Par Yaz dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/09/2005, 17h54

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