Bonjour,

Je me casse les dents sur un problème d’événement.

J'ai une appli qui contient un gestionnaire de clients TCP qui crée X clients en fonction des besoins.
Chaque client remonte par événement au gestionnaire de clients quand il est connecté.
Le gestionnaire remonte ensuite, toujours par évènement, à la form principale qu'un client s'est connecté.

Client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
//declaration de l'évenement dans le client
public event StringEventHandler Sync;
 
        protected virtual void OnSync(StringEventArgs e)
        {
            StringEventHandler handler = Sync;
            if (handler != null)
            {
                handler(this, e);
            }
        }
 
...
OnSync(e); //declenche l'évenement de connexion
...
gestionnaire de clients
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
//Déclaration de l'évenement de connexion d'un client
        public event StringEventHandler TCPSync;
 
        protected virtual void OnSync(StringEventArgs e)
        {
            StringEventHandler handler = TCPSync;
            if (handler != null)
            {
                handler(this, e);
            }
        }
 
//Dans le code de creation d'un nouveau client : 
client.Sync += _Sync;
 
//Executé quand un client se connecte
        void _Sync(object sender, StringEventArgs e)
        {
            //Declenche un nouvel evenement
            OnSync(e);
        }
Dans la form principale
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
TCPManager.TCPSync+=_Sync;
 
        void _Sync(object sender, StringEventArgs e)
        {
            tbConsole.Text = "Sync:";
            tbConsole.Text += e.Text + "\r\n";
        }
Lors d'une connexion d'un client l'evement remonte correctement jusqu'au gestionnaire de client mais il ne remonte pas jusqu'à la form.
Quelqu'un à une idée pourquoi ?

Merci
A+
JP