Event sur plusieurs Form

[Résolu]
Signaler
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015
-
Bonjour,

J'ai une feuille  qui ouvre trois fenêtres (FrmA, FrmB, FrmC) et j'aimerai déclencher un événement à partir de FrmA sur FrmB et FrmC. Comment puis je faire ?

DT

6 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
26
Bonjour,

Il te faut utiliser le passage de paramètre par événement. Cela me paraît le plus approprié.
Voir ce très bon tutorial de Bidou: http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
49
Salut

(NB : je n'ai pas encore regardé les sources du code de billou_13)
Si dans FrmB et dans FrmC tu as une référence à FrmA, il suffit alors de t'y abonner comme normalement :
exemple (avec passage de référence par le constructeur par la même occasion) :

class FrmB : Form
{
    FrmA maFrmA;

    public FrmB(FrmA frmA)   // Quand tu crées ta FrmB depuis FrmA, tu envoies juste this (référence à ta FrmA)
    {
        InitializeComponent();
        maFrmA = frmA;
        ConnexionEvenementFrmA();
    }

    private void ConnexionEvenementFrmA()
    {
        maFrmA.Resize += new EventHandler(methodeAppelee);
    }
   
    private void methodeAppelee(object sender, EventArgs e)
    {
        // Est appelée quand tu resize la FrmA
    }
}

Krimog :
while (!(succeed = try())) ;
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
26
Désolé,

J'ai été trop vite.
J'ai oublié d'ajouter que tu n'auras pas à faire passer des paramètres.
Cependant, le tutorial te montrera comment déclencher des événements d'une form en le récupérant dans une autre. Ceci fera ton affaire.

Bon courage,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
26
Je valide les dires de krimog

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

Je travaille sur l'exemple de billou_13 et arrive à peu près au même résultat que Krimog. La principale différence est que je dois définir ma "methodeAppelee" avec "public override"

Merci
DT
Messages postés
189
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
27 novembre 2015

J'ai dit une bétise... J'avais appelé ma méthode Refresh... (d'où le override...)

DT