Vista - ProgressBar sans animation ?

Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009 - 19 oct. 2008 à 22:07
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 21 oct. 2008 à 16:16
Bonjour,

Dans le cadre d'une application avec des besoins spécifiques, j'aurais besoin de supprimer les effets d'animations d'une ProgressBar sous Vista. La situation est qu'elle est pleine au départ et, lors de l'affichage de la form, se remplit.

Comment eviter cet effet ?

Merci d'avance !

15 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
19 oct. 2008 à 22:14
essaye : ProgressBar1.Enabled =





False





Bonjour chez vous !
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
19 oct. 2008 à 22:14
Je ne suis pas sûr d'avoir compris l'objectif, tu souhaite une ProgressBar pleine dès le début et qui ne bouge pas du tout c'est bien ça ?
0
Nowid50 Messages postés 45 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 29 octobre 2009
19 oct. 2008 à 22:16
@ Sehnsucht : Exactement ;)

@ Gillardg : Je vais essayer ! :)
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
19 oct. 2008 à 22:24
Normalement l'état Enabled à True ou False ne changera pas grand chose je pense
Je viens de faire quelque essais et même si tu mets la propriété Value du ProgressBar à 100 dans le concepteur, cela ne fait que rajouter une ligne dans le fichier form1.Designer.vb (ProgressBar1.Value=100) donc tu n'éviteras pas ce souci.

Le seul moyen que je vois pour le limiter serait d'affecter la propriété Maximum et la propriété Value du ProgressBar à 1 ce qui fera que le "remplissage" lors de l'apparition du Form sera plus rapide mais la je vois pas mieux; peut-être en créant un UserControl dérivé de ProgressBar..??

C'est pour quelle utilisation exactement, cela pourrait peut-être aider de le savoir
0

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

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
19 oct. 2008 à 23:09
Bonjour,

Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.LoadProgressBar1.Value = ProgressBar1.Maximum

ProgressBar1.Enabled =

False

End
Subsi la valeur est au max et que la progressbar est enabled =false ça ne sait plus bouger !

a+
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
19 oct. 2008 à 23:13
Son problème n'est pas exactement là d'après ce que j'ai compris, il veut en effet que la ProgressBar soit pleine, mais surtout il voudrait qu'elle le soit directement à l'affichage or (au moins sous Vista, à voir si sous XP le problème est le même) à l'affichage du formulaire, on voit la ProgressBar se remplir jusqu'à la valeur maximale, et c'est cela qu'il voudrait éviter.

En espérant avoir été compris.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
19 oct. 2008 à 23:50
la propriété value peut etre remplie au design time !

Bonjour,

a+
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
19 oct. 2008 à 23:52
En effet, mais le problème persiste tout de même, comme je l'explique dans mon second post
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
19 oct. 2008 à 23:55
Bonsoir,
Désolé de te décevoir mais cela n'est pas réalisable en l'état si tu utilises le contrôle progressbar fournit en standard.
2 solutions peuvent néanmois fonctionner (pas de garantie)
- Une solution désactiver le style visuel de la progressbar.
Ou
- Désactiver cet effet d'animation en le désactivant (PBS_SMOOTHREVERSE): http://msdn.microsoft.com/en-us/library/bb760820(VS.85).aspx

Je pense que tu auras plus vite fait de créer ta propre progressbar.
++
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
20 oct. 2008 à 22:35
Petite correction à ma réponse précédente. PBS_SMOOTHREVERSE te permet de faire ce que tu souhaites mais à l'inverse lorsque la valeur de la progressbar est décrémenté !

Je vais rajouter que tu ne peux malheureusement pas le faire dans le sens "normal" même si la constante PBS_SMOOTH existe, le style sur une barre de progression n'est supporté uniquement si le style Windows et le style classique.

Il te reste donc en dernière option la création de ta propre progressbar !
(Si quelqu'un à une astuce ou une "bidouille" qui fonctionne qu'elle se manifeste )

Bonne continuation.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 oct. 2008 à 00:10
Bonjour,

une bidouille ?? oui afficher une pîcturebox avec une image de la dite progressbar dans l'état ou tu la veux .
et quand tu veux ta progressbar tu hide l'image et tu affiches la progressbar

a+
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
21 oct. 2008 à 09:18
Gillardg, c'est plus qu'une bidouille
Pour cela il faut la même version de Windows avec le même style visuel. Sans cette contrainte ton astuce est viable

++
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
21 oct. 2008 à 15:15
Bonjour,
afficher splash pour cacher fenetre principale
progressbar.DrawToBitmap()

effacer splash pour montrer fenetre principale
maintenant ma bidouille fonctionne partout
a+
0
Sehnsucht Messages postés 107 Date d'inscription samedi 25 novembre 2000 Statut Membre Dernière intervention 4 mai 2013
21 oct. 2008 à 16:05
Moi je ce que j'aimerais savoir, surtout c'est dans quel but, il est besoin de tant s'enquiquiner à avoir un ProgressBar plein d'entrée de jeu, car à la limite s'il n'y a pas e raisons particulière, un UserControl dérivé de Label avec BorderStyle à Single et pour le remplissage une surcharge de l'évènement Paint avec un FillRectangle proportionnel à la taille du Label en fonction de la valeur genre 1/2 de la taille pour 50% enfin vous avez compris l'idée quoi.
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
21 oct. 2008 à 16:16
Mais effectivement pas la peine de s'enquiquiner pour si peu.
+1 pour gillardg
0
Rejoignez-nous