cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 2009
-
20 mai 2004 à 21:58
cs_CrazyBlade
Messages postés2Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention28 février 2012
-
2 mars 2012 à 09:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_CrazyBlade
Messages postés2Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention28 février 2012 2 mars 2012 à 09:07
Merci !
Derdonn
Messages postés13Date d'inscriptionjeudi 15 octobre 2009StatutMembreDernière intervention29 octobre 2013 13 juil. 2011 à 00:21
Le code est FAUX! Quand on met "ShowInTaskbar False" ça signifie que lorsque l'on minimise la fenêtre, celle-ci est réduite sur le bureau au lieu d'être rangée dans la barre des tâches. La bonne manière de faire est "Visible False". En résumé :
j'ai l'impression que ca fait pareil. J'essaie de chercher une petite différence mais la vois pas :/
cs_lagoelle
Messages postés102Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 mars 2009 8 févr. 2005 à 20:23
Yep ! Bien vu coq ;-D
En effet, ça fonctionne nickel
Merci
@ plus
lagoelle
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 8 févr. 2005 à 13:37
Reponsable : affectation de ShowInTaskbar => en le mettant avant l'appel de Show résoud le problème...
private void RevoirForm ()
{
// reaffiche dans la barre des taches
this.ShowInTaskbar = true;
// reaffiche le form
this.Show();
// remet la taille normale
this.WindowState = FormWindowState.Normal;
}
Je modifie le zip -_-
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 8 févr. 2005 à 13:29
effectivement
et si je supprime le linklabel c'est le bouton qui redevient visible o_O
quelqu'un peut confirmer ?
cs_lagoelle
Messages postés102Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 mars 2009 8 févr. 2005 à 13:18
Salut coq
J'ai posé sur la form dans ton projet, différents controles:
linkLabel, textBox,DataGrid,CheckBox,RadioButton,Label,Button,panel, et au réaffichage de la form (après réduction), seul le linklabel était visible...
De ton coté, ça a donné quoi ?
@ plus
lagoelle
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 7 févr. 2005 à 13:11
cs_lagoelle
Messages postés102Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention17 mars 2009 7 févr. 2005 à 12:32
Salut,
D'abord, bravo coq pour cette source didacticielle ;-)
Ca fonctionne bien, par contre quand on réagrandit la form certains controls ne sont pas redessinés :s ...
Plus concretement, j'utilises le control nicePanel (que je vous conseilles d'autant qu'il est gratuit...) de chez PureComponents et la form se fige, même la croix n'est pas clickable... et la form est vierge...
Ce problème se pose également avec d'autres controls qui ne sont pas des controls "utilisateurs".
Vois tu une solution pour ce soucis ?
Je penses qu'il faut forcer l'appli à redessiner la form entièrement avec paint ou autre chose, mais je ne maitrise pas encore suffisamment C# pour savoir comment faire... :-(
Merci d'avance pour ton aide.
@ plus
lagoelle
patemino
Messages postés80Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention22 mars 2007 30 juin 2004 à 19:19
D'accord merci bien pour ta source et tes réponses !
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 30 juin 2004 à 15:40
juste avec
notifyIcon.ContextMenu = this.contextMenu;
qui associe notre ContextMenu au NotifyIcon
tu ne peux pas te servir de Show pour faire apparaitre le menu au niveau du NotifyIcon comme cet objet n'herite pas de Control
par contre rien ne t'empeche de le faire apparaitre au niveau d'un bouton (par exemple) :
contextMenu.Show(monButton, new Point(0, monButton.Height));
patemino
Messages postés80Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention22 mars 2007 30 juin 2004 à 15:10
Bravo pour cette source / tuto,
J'ai quand même une question :
Tu as un menu appelé contextMenu et tu veux qu'il apparaisse lorsque tu clique avec le bouton droit sur l'icone dans le systray tu fais comment ?
tu crée un evenement NotifyIcon_clickdroit qui lance ca ?
contextMenu.Show(argument1,argument2);
Dans ce cas là quel est la syntaxe de ces deux arguments ?
shinkan
Messages postés14Date d'inscriptiondimanche 30 novembre 2003StatutMembreDernière intervention14 avril 2005 23 mai 2004 à 11:28
Non, les forms me sont bien utiles, j'en utilise une autre comme boite de dialogue, et celle que je cache (que je voudrais cacher ...) dès le début me sert à contenir les diverses options du prog ... et en plus j'y connais rien aux services ...
Tsu91
Messages postés41Date d'inscriptionmardi 27 janvier 2004StatutMembreDernière intervention11 septembre 2005 23 mai 2004 à 09:47
Je savais utiliser déja le system des icon en tray, mais je te félicite, c'est concis et efficace, mais c'ets vrais qu'il manque un poil d'explication pour les vrai déutant je pense :)
en tout cas c'est bien joué ^o^
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 23 mai 2004 à 08:08
du fait que le form n'est pas encore mit en place je pense
utilise les propriétés WindowsState (sur Minimized) et ShowInTaskbar (sur false) au moment du design
enfin a ce niveau là je me demande si le form est bien necessaire, il ne vaudrais pas mieux faire un service ?
shinkan
Messages postés14Date d'inscriptiondimanche 30 novembre 2003StatutMembreDernière intervention14 avril 2005 22 mai 2004 à 23:04
Bon source, bien commenté.
Néamoins j'ai un problème : je n'arrive pas à cacher une form lors de son démarrage (event _Load). Je suis en train de refaire en C# une appli que j'avais fait en VB6, le programme n'avait pas de fenetre visible, juste un icone dans le systray avec un menu ...
Seulement sous C#, impossible de cacher ma form dès le démarrage de l'appli, j'utilise dans l'event _Load la syntaxe suivante :
this.Hide();
Celle si fonctionne très bien pour tout autre event (click ...), mais pas au démarrage, comment faire ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 20 mai 2004 à 22:11
de rien
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 20 mai 2004 à 22:06
ok je te remerci pour cette source et pour tes explications
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 20 mai 2004 à 22:03
euh non
l'icone apparait au lancement et part a la fermeture de l'appli
this.ShowInTaskbar = true; permet de reactiver l'affichage du form dans la barre des taches (pas le systemtray)
si tu veux gerer l'apparition/disparition de l'icone : notifyIcon.Visible=true/false
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 20 mai 2004 à 21:58
pourrais-tu m'expliquer un peu la source, car j'avoue que j'ai un peu de mal à comprendre...
la mise de l'icone dans la sytray et simplement fait par cette instruction: "this.ShowInTaskbar = true;" ?
ensuite y a des truc a ajouter comme des genre d'ocx ou des trucs comme ca? (dsl suis debutant je pose beaucoup de question)
2 mars 2012 à 09:07
13 juil. 2011 à 00:21
this.Hide() dans le Form_Load
private void Form1_Resize(object sender, EventArgs e) {
if (this.WindowState == FormWindowState.Minimized ) {
this.Hide();
notifyIcon1.Visible = true;
}
}
private void notifyIcon1_DoubleClick(object sender, EventArgs e) {
this.Show();
this.WindowState = FormWindowState.Normal;
notifyIcon1.Visible = false;
}
8 mars 2010 à 20:03
Esseye ceci , c'est ce que j'ai fait et ça marche bien :)
private void Form1_Shown(object sender, EventArgs e)
{
this.Hide();
}
7 juil. 2005 à 23:20
Il y avait peut être (ou peut être pas^^) une bonne raison à l'époque, mais là c'est vrai que le Hide suffit.
5 juil. 2005 à 15:51
Parce que si tu mets juste
private void Form1_Resize(object sender, System.EventArgs e)
{
if ( this.WindowState == FormWindowState.Minimized) this.Hide();
}
private void RevoirForm ()
{
this.Show();
this.WindowState = FormWindowState.Normal;
}
j'ai l'impression que ca fait pareil. J'essaie de chercher une petite différence mais la vois pas :/
8 févr. 2005 à 20:23
En effet, ça fonctionne nickel
Merci
@ plus
lagoelle
8 févr. 2005 à 13:37
private void RevoirForm ()
{
// reaffiche dans la barre des taches
this.ShowInTaskbar = true;
// reaffiche le form
this.Show();
// remet la taille normale
this.WindowState = FormWindowState.Normal;
}
Je modifie le zip -_-
8 févr. 2005 à 13:29
et si je supprime le linklabel c'est le bouton qui redevient visible o_O
quelqu'un peut confirmer ?
8 févr. 2005 à 13:18
J'ai posé sur la form dans ton projet, différents controles:
linkLabel, textBox,DataGrid,CheckBox,RadioButton,Label,Button,panel, et au réaffichage de la form (après réduction), seul le linklabel était visible...
De ton coté, ça a donné quoi ?
@ plus
lagoelle
7 févr. 2005 à 13:11
Si tu veux demander a un controle de se redessiner regarde du coté de la methode Invalidate (http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/cpref/html/frlrfSystemWindowsFormsControlClassInvalidateTopic.asp)
Sinon j'essaierais de voir ce soir si j'arrive à reproduire ce comportement pour voir.
7 févr. 2005 à 12:32
D'abord, bravo coq pour cette source didacticielle ;-)
Ca fonctionne bien, par contre quand on réagrandit la form certains controls ne sont pas redessinés :s ...
Plus concretement, j'utilises le control nicePanel (que je vous conseilles d'autant qu'il est gratuit...) de chez PureComponents et la form se fige, même la croix n'est pas clickable... et la form est vierge...
Ce problème se pose également avec d'autres controls qui ne sont pas des controls "utilisateurs".
Vois tu une solution pour ce soucis ?
Je penses qu'il faut forcer l'appli à redessiner la form entièrement avec paint ou autre chose, mais je ne maitrise pas encore suffisamment C# pour savoir comment faire... :-(
Merci d'avance pour ton aide.
@ plus
lagoelle
30 juin 2004 à 19:19
30 juin 2004 à 15:40
notifyIcon.ContextMenu = this.contextMenu;
qui associe notre ContextMenu au NotifyIcon
tu ne peux pas te servir de Show pour faire apparaitre le menu au niveau du NotifyIcon comme cet objet n'herite pas de Control
par contre rien ne t'empeche de le faire apparaitre au niveau d'un bouton (par exemple) :
contextMenu.Show(monButton, new Point(0, monButton.Height));
30 juin 2004 à 15:10
J'ai quand même une question :
Tu as un menu appelé contextMenu et tu veux qu'il apparaisse lorsque tu clique avec le bouton droit sur l'icone dans le systray tu fais comment ?
tu crée un evenement NotifyIcon_clickdroit qui lance ca ?
contextMenu.Show(argument1,argument2);
Dans ce cas là quel est la syntaxe de ces deux arguments ?
23 mai 2004 à 11:28
23 mai 2004 à 09:47
en tout cas c'est bien joué ^o^
23 mai 2004 à 08:08
utilise les propriétés WindowsState (sur Minimized) et ShowInTaskbar (sur false) au moment du design
enfin a ce niveau là je me demande si le form est bien necessaire, il ne vaudrais pas mieux faire un service ?
22 mai 2004 à 23:04
Néamoins j'ai un problème : je n'arrive pas à cacher une form lors de son démarrage (event _Load). Je suis en train de refaire en C# une appli que j'avais fait en VB6, le programme n'avait pas de fenetre visible, juste un icone dans le systray avec un menu ...
Seulement sous C#, impossible de cacher ma form dès le démarrage de l'appli, j'utilise dans l'event _Load la syntaxe suivante :
this.Hide();
Celle si fonctionne très bien pour tout autre event (click ...), mais pas au démarrage, comment faire ?
20 mai 2004 à 22:11
20 mai 2004 à 22:06
20 mai 2004 à 22:03
l'icone apparait au lancement et part a la fermeture de l'appli
this.ShowInTaskbar = true; permet de reactiver l'affichage du form dans la barre des taches (pas le systemtray)
si tu veux gerer l'apparition/disparition de l'icone : notifyIcon.Visible=true/false
20 mai 2004 à 21:58
la mise de l'icone dans la sytray et simplement fait par cette instruction: "this.ShowInTaskbar = true;" ?
ensuite y a des truc a ajouter comme des genre d'ocx ou des trucs comme ca? (dsl suis debutant je pose beaucoup de question)