NotifyIcon + problème

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 17 nov. 2005 à 11:41
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 17 nov. 2005 à 14:15
Bonjour à tous,



J'ai une form qui sert à se loguer et qui s'appelle "form_se_loguer" et
quand l'utilisateur se loguer sa lance une autre form qui s'appelle
"Form1" et dans Form1 je créer un notifyicon et quand Form1 est quitter
il se passe ceci :



Quand on appui sur se loguer dans form_se_loguer :



// si login et mot de passe correct alors :



this.Visible = false ; // form se loguer devient invisible

Form1 form1 = new Form1(bdd) ; // form1 est crée

form1.ShowDialog() ; // form1 est lancé

this.Visible = true ; //quand form1 est quitter form_se_loguer redevient visible



Ca marche, mais ce que je comprends c'est que mon notifyIcon créer dans
form1 reste visible quand form_se_loguer redevient visible. Non
seulement il est visible mais il est actif egalement, le menu
contextuel qui lui est associé fonctionnent encore.... et si je me
relogue et que je requitte form1 y'en aura un nouveau qui va apparaiter
et ainsi de suite.



A votre bon coeur...

8 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 nov. 2005 à 11:55
Salut,

Ce code devrait suffire à résoudre ton problème :
protected override void OnClosed(EventArgs e)
{
notifyIcon.Dispose(true);
base.OnClosed (e);
}

/*
coq
MVP Visual C#
*/
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 nov. 2005 à 13:53
base représente la classe de base, ici Form.
base.OnClosed(e); nous permet de repasser la main au traitement "normal" qui est effectuer par la classe de base dont on override la méthode OnClosed.

Pour le message d'erreur, je me suis trompé de surcharge :p
à la place utilise :
notifyIcon.Visible = false;
NotifyIcon.Dispose();

/*
coq
MVP Visual C#
*/
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 nov. 2005 à 14:05
Si, mais à la fermeture du précédent il supprime l'icône existante.

/*
coq
MVP Visual C#
*/
3
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2005 à 13:34
ok, merci bien
0

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

Posez votre question
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2005 à 13:40
y'a juste un truc en faite, dans la ligne :



base.OnClosed (e);



Que represente "base" ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2005 à 13:45
pour : notifyIcon.Dispose(true);



il me marque "impossible d'acceder à protected membre déclaré dans la classe System.Windows.Form.NotifyIcon"
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2005 à 14:01
ok, merci ca marche ce coup ci, grâce à dispose() en faite il me recréera plus un notifyicon a chaque lancement de Form1 ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2005 à 14:15
ok, merci
0
Rejoignez-nous