aifzaide
Messages postés41Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 2 juin 2010
-
9 avril 2007 à 02:33
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 2009
-
16 avril 2007 à 04:06
Bonjour,
J'aimerais que mon programme tourne continuellement meme si on clique sur la croix. C'est a dire qu'un icone se mette dans la barre des taches et que pour reouvrir mon programme on es juste a cliquer sur l'icone. (Exactement comme pour Flashget)
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 9 avril 2007 à 04:28
Salut, c'est la classe NotifyIcon qui affiche une icone dans le "SystemTray", après il faut jouer avec l'évènement Resize et la propriété WindowState. Tu as une exemple ici :
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 20095 9 avril 2007 à 05:56
1. Tu ajoute un element NotifyIcon a ton formulaire
2. Tu t'abonne à l'évenement "OnClick" de ce NotifyIcon et tu y depose "WindowState = FormWindowState.Normal" et "ShowInTaskbar=true"
3. Tu t'abonne à l'évenement "FormClosing" de ton formulaire, et tu y depose "WindowsState = FormWindowState.Minimised", "ShowInTaskbar=false" et "e.Cancel = true" sachant que e est ton paramètre EventArg
4. Je te conseil de rajouter un bouton ou un contextmenu pour fermer completement l'application, et ce il peux le faire via "Application.Exit()"
Voila
Tu peux aussi rajouter un élément ContextMenu sur ta form, et ensuite aller l'associer a la propriete"ContextMenu" de ton NotifyIcon, ce qui aura pour effet de le rendre disponible via le bouton de droit sur ton icone dans la barre des tâche.
Personellement je trouve sa super ce truc en .Net, c vraiment simple et le resultat est très intéressant.
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 20095 9 avril 2007 à 06:05
Effectivement apres quelque test il faudrait Hide() & Show() ta form, pcq sinon elle reste dispo si tu fait ALT-TAB par exemple, et la sa se met a chier un peu ... javais pas vu le lien a Lutinore, que sa réponse ... je pense que c'est l'idéal ce lien ;)
ricklekebekoi
Messages postés303Date d'inscriptionmardi 11 février 2003StatutMembreDernière intervention24 avril 20095 9 avril 2007 à 17:55
Vrai ... suffirait donc de mettre ....
1. Une variable a ta formulaire "StayOpen" à true
2. Dans ton bouton quitter avant le application.exit(), mettre cette var a false3. remplacer "e.Cancel true" par "e.Cancel StayOpen
Mais bon, je trouve pas ça hyper propre
Eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
aifzaide
Messages postés41Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 2 juin 2010 9 avril 2007 à 17:50
Tout marche parfaitement sauf que je ne peux pas fermer completement l'application meme avec Application.Exit() il passe par le FormClosing() donc ca me minimize tout mais ca ne le ferme jamais. Merci de votre aide
aifzaide
Messages postés41Date d'inscriptionlundi 12 février 2007StatutMembreDernière intervention 2 juin 2010 9 avril 2007 à 18:22
J'ai un dernier petit probleme ^^, si par exemple mon programme est dans la barre des taches (reduit) et que je relance mon .exe, il me genere une erreur ce qui es normal car il relance un autre programme mais moi j'aimerais qu'il lance celui qui es deja dans la barre des taches, y'as t-il une option a configurer ou autre? merci d'avance