cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 2012
-
14 déc. 2009 à 15:40
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 2012
-
15 déc. 2009 à 10:11
Bonjour,
je voudrais mettre un message d'attente pendant que le programme fait des "actions" ( ex: sauvegarde d'une base de données)
mais je rencontre un probleme.
Je crée un form_message d'attente qui contient un progressbar style marquee
je fais show()
puis je lance ma sauvegarde
la fenetre apparait bien mais elle est tte blanche, on ne voit ni le message , ni le progressbar
(en fait on la voit bien une fois la sauvegarde terminéee unqiuement)
Deja j'aimerais savoir comment faire pour l'afficher correctement pendant ces "actions" (on peut tjrs en avoir l'utilité pour rendre le programme un peu plus "beau")
Je voudrais savoir si il y a un composant qui remplace aussi la progressbar classique
genre le truc en cercle qui tourne que l'on peut voir sur internet puisqu'en fait je ne veux pas vraiment donner une estimation du temps que l'action va prend mais juste mettre un petite animation avec un message pour faire patienter l'utilisateur
JeremyLecouvert
Messages postés139Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention10 mai 20102 14 déc. 2009 à 17:05
'lut,
Pour le p'tit motif je sais pas, mais pour rafraichir l'affichage, tu peux utiliser la méthode Application.DoEvents(), placée au bon endroit (par exemple après chaque itération d'une boucle, ou après l'affichage d'un message). Cette méthode rend la main à Windaube pour qu'il traite ses messages.
Le mieux étant quand même d'exécuter ton traitement dans un thread séparé pour ne pas figer ton IHM... mais c'est plus de boulot!
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
cudenetf
Messages postés448Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention26 juillet 20122 15 déc. 2009 à 06:07
Oui j'avais utilisé les threads une fois mais je ne me souviens plus comment ...j'ai pas pu retrouver mon code et je cherchais une maniere simple
vous ne voyez pas de quoi je parle au sujet du ptit rond (comme une petite horloge dont les "batons" se colorent au fu r et a mesure et redeviennent gris...
JeremyLecouvert
Messages postés139Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention10 mai 20102 15 déc. 2009 à 09:59
Si je vois très bien, comme par exemple le curseur de chargement dans IE, Mais je peux pas t'aider là-dessus!
Au + simple, tu peux mettre dans ton formulaire un
this.UseWaitCursor=true
au début du traitement et le remettre à false à la fin... tu peux aussi récupérer le curseur que tu veux si tu le trouves quelque part, ou en créer un, et utiliser this.Cursor= MonCurseur.
Bonne prog!
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
JeremyLecouvert
Messages postés139Date d'inscriptionmardi 27 novembre 2007StatutMembreDernière intervention10 mai 20102 15 déc. 2009 à 10:04
Petite précision tout de même: si tu utilises un curseur animé, il risque de ne s'animer que par à-coups si ton traitement tourne dans le même thread que l'IHM... à voir!
Promis j'ai fini!
Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)