Prbleme événement sur NotifyIcon(appli CLient/Serveur)

davidtse Messages postés 14 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 15 juillet 2008 - 9 juil. 2008 à 11:25
davidtse Messages postés 14 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 15 juillet 2008 - 15 juil. 2008 à 14:59
Bonjour,

J'ai un soucis avec mon NotifyIcon, mon application est un processus qui n'a pas d'interface, il reste à l'écoute du serveur pour afficher des messages dans des popup, j'ai un thread qui crée mon icône tel que :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
 
components = new System.ComponentModel.Container();
iconeMsg = new NotifyIcon(components);

 
iconeMsg.Icon = new Icon("fordInternCom.ico");
iconeMsg.Text = "Cliquez ici pour afficher votre message !";
iconeMsg.Visible = false;
this.iconeMsg.Click += new System.EventHandle(this.iconeMsg_Click);
 

<!-- END TEMPLATE: bbcode_code -->Dans un autre thread(celui qui vérifie l'arrivée des messages), je rend mon icône visible, celà marche bien j'ai toujours mon text et elle est bien visible mais mon événement ne se produit jamais, j'ai essayé doubleclick, mouseclick et rien n'y fait. J'ai beau cherché sur google je n'arrive pas à trouver de site qui parle de ce problème.

Si quelqu'un peut m'aider svp, ça ne serait pas de refus.
Merci d'avance.

ps: s'il vous manque des informations, faites moi signe.

<!-- / message -->

4 réponses

davidtse Messages postés 14 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 15 juillet 2008
9 juil. 2008 à 11:33
Désolé, c'est pas tres lisible je refais mon message :)

Bonjour,

J'ai un soucis avec mon NotifyIcon, mon application est un processus qui n'a pas d'interface, il reste à l'écoute du serveur pour afficher des messages dans des popup, j'ai un thread qui crée mon icône tel que :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
components = new System.ComponentModel.Container();
            iconeMsg = new NotifyIcon(components);
        
 
            iconeMsg.Icon = new Icon("fordInternCom.ico");
            iconeMsg.Text = "Cliquez ici pour afficher votre message !";
            iconeMsg.Visible = false;
    this.iconeMsg.Click += new System.EventHandle(this.iconeMsg_Click);

<!-- END TEMPLATE: bbcode_code -->Dans un autre thread(celui qui vérifie l'arrivée des messages), je rend mon icône visible, celà marche bien j'ai toujours mon text et elle est bien visible mais mon événement ne se produit jamais, j'ai essayé doubleclick, mouseclick et rien n'y fait. J'ai beau cherché sur google je n'arrive pas à trouver de site qui parle de ce problème.

Si quelqu'un peut m'aider svp, ça ne serait pas de refus.
Merci d'avance.

ps: s'il vous manque des informations, faites moi signe.

<!-- / message -->
0
davidtse Messages postés 14 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 15 juillet 2008
10 juil. 2008 à 14:40
Petit up du post avec quelques précisions :
la fonction appelée, rien de spécial.
 private void iconeMsg_Click(object sender, EventArgs e) 
        {
            MessageBox.Show("ca marche enfin");
        }





Des que je reçois un message je l'affiche dans un popup(dans un autre thread), je rend visible mon Icone et je suis sensé en cliquant sur l'icone recréer la popup qui disparaît au bout d'un lapse de temps prédéfini. Mon icone apparaît dans la barre des tâches.




framework : 3.0
visual studio 2008
0
davidtse Messages postés 14 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 15 juillet 2008
11 juil. 2008 à 10:39
je fais du cross thread sur cette appli, est-il possible que ça soit la cause de ce bug?
0
davidtse Messages postés 14 Date d'inscription jeudi 18 mars 2004 Statut Membre Dernière intervention 15 juillet 2008
15 juil. 2008 à 14:59
Bon, pas de nouvelles .. :( j'ai du mal m'expliquer je recommence :


J'ai mon application CLient qui est juste un processus, dedans j'utilise une classe Client. Lors de son constructeur j'aimerais mettre un icone invisble dans la barre des tâches(que je rendrais visible quand je voudrais). D'ailleur je l'ai déclaré comme propriété de la classe :
private  NotifyIcon iconeMsg;



Au constructeur, j'initialise mon icone :
this.components = new System.ComponentModel.Container();
            this.iconeMsg = new NotifyIcon(this.components);
            this.iconeMsg.Icon = new Icon("fordInternCom.ico");
            this.iconeMsg.Text = "Cliquez ici pour afficher votre message !";
            this.iconeMsg.Visible = true;
            this.iconeMsg.Click += new System.EventHandler(this.iconeMsg_Click);



Ensuite, je me connecte à mon serveur puis je lance mon Thread d'ecoute des messages.
Lorsque je reçois mon message, je rend mon icone visible :
iconeMsg.Visible = true;



Je lance un nouveau thread qui me crée un popup(obligé de faire showdialog à la fin sinon il se fait delete par le garbage).


L'événement click sur l'icone ne se produit jamais mais pourtant l'icone s'affiche quand je met visibility à true!! Quelqu'un peut m'aider svp?
0
Rejoignez-nous