Event sur plusieurs Form

Résolu
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 8 avril 2009 à 14:58
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015 - 8 avril 2009 à 17:08
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

billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
8 avril 2009 à 15:53
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
---------------------
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
8 avril 2009 à 16:16
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())) ;
3
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
8 avril 2009 à 15:55
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
---------------------
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
8 avril 2009 à 16:20
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
---------------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
8 avril 2009 à 16:30
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
0
babe59 Messages postés 189 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 27 novembre 2015
8 avril 2009 à 17:08
J'ai dit une bétise... J'avais appelé ma méthode Refresh... (d'où le override...)

DT
0