IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Programmation de progressbar


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut Programmation de progressbar
    Bonjour,

    Je voudrai savoir comment on programme une progressbar ??

    Si quelqu'un a le code je prend merci !!

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 192
    Par défaut
    ca existe déjà dans le framework

    sinon c'est plutot trivial ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    peut- tu exprimer ta pensée parce que au cas ou tu l'avais pas remarqué je suis un vrai noub ^^

    Merci de ton aide

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Tu veux dire comment faire évoluer la barre en fonction du traitement ?
    Si c'est ça, en gros, il faut que tu utilises un compteur. Tu parcours un While ou un for au moment où tu as besoin de cette progress bar ?

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 192
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    En fait j'ai une form est je veux que la progressbar évolue en fonction du traitement comme tu l'a souligné mais il n'y pas de boucle dans mon code.
    J'ai vu sur quelques forums qu'il fallait utiliser un timer mais je ne sais comment ??

    encore merci

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Regarde ce que Pol a mis comme lien c'est clair ^^

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    ok ^^

    Merci les gars !!*

  9. #9
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Sinon au niveau graphique si cela peut t'aider :

    Moi je l'utilise dans une boucle perso, donc à adapter pour un timer :

    Ca c'est dans une boucle sur incrémentation de "i"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                With Progressbar
     
                    .Progressbar(KnownColor.White, KnownColor.Green, i)
                    .pict1.Image = imgp
                    .pict1.Refresh()
                    .Label1.Refresh()
                    .Label2.Refresh()
     
                End With
    Ca c'est la génération des images :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
        Public Function Progressbar(ByVal couleur1 As KnownColor, ByVal couleur2 As KnownColor, ByVal val As Integer)
     
            Dim g As Graphics = Graphics.FromImage(imgp)
            Dim police As New Font("microsoft sans serif", 8, FontStyle.Bold)
            Dim pinceau As New SolidBrush(Color.Black)
            Dim mypen1 As New Pen(Color.Black, 2)
            Dim myBrush1 As LinearGradientBrush = Nothing
            Dim myBrush2 As LinearGradientBrush = Nothing
            Dim cadre As New Rectangle(0, 0, 220, 26)
     
     
            Dim rect As New Rectangle(0, 0, val * 220 / maxfichier, 26)
     
            myBrush1 = New LinearGradientBrush(cadre, Color.FromArgb(100, Color.White), Color.FromArgb(100, Color.DarkGray), LinearGradientMode.Vertical)
            g.FillRectangle(myBrush1, cadre)
     
            If Int(val * 220 / maxfichier) = 0 Then
     
                g.DrawString(Format("0 %").ToString, police, pinceau, 97, 6)
     
            Else
     
                myBrush2 = New LinearGradientBrush(rect, Color.FromKnownColor(couleur1), Color.FromKnownColor(couleur2), LinearGradientMode.Vertical)
                g.DrawRectangle(Pens.DarkGreen, rect)
                g.FillRectangle(myBrush2, rect)
                g.DrawString(Int(val * 100 / maxfichier) & " %", police, pinceau, 97, 6)
     
            End If
     
            g.DrawRectangle(mypen1, 0, 0, 220, 26)
     
     
            Return imgp
     
        End Function
    '220 correspond à la taille de ma progressbar
    'maxfichier correspondant à mon nombre max d'itération, donc toi ton temps max
    'val correspond à mon incrémentation soit "i", dans ton cas l'intervalle du timer

    Juste la fonction à appeler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Progressbar(KnownColor.White, KnownColor.Green, i)
    Tu peux choisir les combinaisons de couleur que tu souhaites avec les deux paramètres couleurs dans l'appel de la fonction pour la barre d'avancement, et pour la barre de fond (en gris dans l'exemple directement dans le code).

    Après il faut adapter.

    Rendu :

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    Je m'y perd un peu avec l'histoire des images mais je t'explique juste le fonctionnement de ma progressbar:
    - Fenetre qui permet de se logger à l'application.
    - Cette fenetre ouvre soit la page d'accueil si le login et mot de passe sont corrects, soit un msgbox en cas de non fonctionnement.
    - Dans les deux affichages je veux que la progressbar fonctionne jusqu'à ce que la form ou la msgbox s'ouvre.
    - ou sinon utiliser ma progressbar avec un timer

    Et je suis allez voir le cours VB.net, mais je n'est pas tout compris vu que l'exemple ne s'apparente pas à mon problème.

    Merci à tous de votre aide !!

  11. #11
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    J'avais juste compris que le "look" de la progressbar des contrôles de Visual Studio ne te plaisait pas, donc je t'ai montré comment je générais entièrement ma progressbar pour avoir un rendu plus "beau".

    Si ton problème est d'ordre technique et non esthetique, utilise le contrôle de base de visual studio.

    Qui plus est je ne vois pas où est ton problème.

    Une progressbar est la représentation graphique d'une progression. Dans ton cas qu'elle est la progression en question ? Est-ce que cette progression est toujours la même où est-elle variable ?

  12. #12
    Membre confirmé Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Par défaut
    salut ;
    voici un progressbar avec un timer ; (ca na rien avoir avec le chargement de la progressbar ; c'est juste une decoration )

    dans le code du timer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            ProgressBar1.Value += 5
            If ProgressBar1.Value = 100 Then
                Timer1.Stop()
                Me.Hide()
                Gestion_facturation.Show()
            End If
        End Sub
    et dans le code du formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Timer1.Start()
        End Sub
    si tu veux faire en fonction de chargement des elements de ton form. progressbar n'as pas de role dans ton cas (ni de decoration) ; car le messagebox va s'afficher tout de suite sans laisser le progressbar agir; cependant ; le code que je t'ai envoyé attends jusqu'a le chargement du progressbar puis il affiche le form d'accueil ; compris?

  13. #13
    Membre confirmé Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Par défaut
    (ca na rien avoir avec le chargement de la progressbar ; c'est juste une decoration )
    je veux dire ; ca n a rien a voir avec le chargement des composants de l'application.*

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    Merci de votre aide
    J'ai réussi à programmer la progressbar

    Encore merci a vous !!

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Par défaut
    bonjour,

    je me permet de vous demander le code qui ta permi de developpez le progressbar en fonction de ton traitement je cherche sur internet. merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Programme avec progressbar
    Par adelcrb dans le forum C#
    Réponses: 5
    Dernier message: 10/07/2013, 19h28
  2. [XL-2007] Problème de programmation de ProgressBar
    Par sparz dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/05/2013, 08h47
  3. Progressbar le temps de l'installation d'un programme
    Par pricrot dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 30/05/2007, 22h38
  4. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    Réponses: 3
    Dernier message: 13/11/2002, 11h07
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo