Vista - ProgressBar sans animation ?

Signaler
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009
-
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
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

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





False





Bonjour chez vous !
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

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 ?
Messages postés
45
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
29 octobre 2009

@ Sehnsucht : Exactement ;)

@ Gillardg : Je vais essayer ! :)
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

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
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
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+
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

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.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
la propriété value peut etre remplie au design time !

Bonjour,

a+
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

En effet, mais le problème persiste tout de même, comme je l'explique dans mon second post
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
21
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.
++
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
21
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.
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
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+
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
21
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

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

effacer splash pour montrer fenetre principale
maintenant ma bidouille fonctionne partout
a+
Messages postés
107
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013

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.
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
21
Mais effectivement pas la peine de s'enquiquiner pour si peu.
+1 pour gillardg