Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2012
    Messages : 16
    Points : 6
    Points
    6

    Par défaut Barre de progression

    Bonjour,
    Je cherche à créer une barre de progression qui progresse en fonction de deux champs.
    Premièrement, nous avons le champ "total" qui est une TextBox.
    Ensuite, nous avons le champ "courant" qui est un NumericUpDown.
    Et nous avons la barre de progression "ProgressBar1".
    Ce que je cherche à faire, c'est que le maximum de la barre de progression soit égal au champ "total" et que sa valeur soit égale au champ "courant", voici donc mon code pour le moment:
    Code :
    1
    2
    3
    ProgressBar1.Minimum = 0
    ProgressBar1.Maximum = CInt(total.Text)
    ProgressBar1.Value = CInt(courant.TextAlign)
    Mais ma barre de progression reste dans tout les cas à 0, est-ce que je dois la faire activer via un bouton, si oui comment?
    Merci de me répondre

  2. #2
    Membre chevronné
    Homme Profil pro Yves TRICHAUD
    Technicien bio médical
    Inscrit en
    décembre 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Nom : Homme Yves TRICHAUD
    Âge : 31
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien bio médical
    Secteur : Santé

    Informations forums :
    Inscription : décembre 2012
    Messages : 326
    Points : 742
    Points
    742

    Par défaut

    Bonjour,

    Tu peux :

    -ne pas mettre
    Code :
    ProgressBar1.Minimum = 0
    tu le mets directement dans le concepteur.

    -Mettre
    Code :
    1
    2
    3
     
    ProgressBar1.Maximum = CInt(total.Text)
    NumericUpDow1.Maximum=Cint(total.Text)
    sur un évènement de ta TextBox (au hasard : .Leave)


    -Mettre
    Code :
    ProgressBar1.Value = CInt(courant.TextAlign)
    sur un évènement de ton NuméricUpDown (vraiment au pif : .ValueChanged)
    est ton amis, MSDN est ton maître, pour le reste il y a Developpez.net. Pensez au au et

  3. #3
    Invité régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2012
    Messages : 16
    Points : 6
    Points
    6

    Par défaut

    merci bien
    donc si j'ai bien compris, j'aurai:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            ProgressBar1.Minimum = 0
        End Sub
     
        Private Sub total_TextChanged(sender As System.Object, e As System.EventArgs) Handles total.TextChanged
            ProgressBar1.Maximum = CInt(total.Text)
            courant.Maximum = CInt(total.Text)
        End Sub
     
        Private Sub courant_ValueChanged(sender As System.Object, e As System.EventArgs) Handles courant.ValueChanged
            ProgressBar1.Value = CInt(courant.TextAlign)
        End Sub
    Si c'est bien ça, le maximum de mon NumericUpDown fonctionne très bien, mais rien ne s'affiche dans la progressbar, est-ce que j'ai mal compris?

  4. #4
    Membre Expert Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2008
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : octobre 2008
    Messages : 614
    Points : 1 228
    Points
    1 228

    Par défaut

    Salut neoph,

    1- Tu créés 1 projet
    2- Tu poses 1 Progressbar
    3- Tu poses 1 NumericUpDown
    4- Tu passes en mode code et tu colles ceci :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
            If Not Me.TextBox1.Text.Length = 0 Then
                ProgressBar1.Maximum = CInt(Me.TextBox1.Text)
            End If
        End Sub
     
        Private Sub NumericUpDown1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles NumericUpDown1.ValueChanged
            If Not NumericUpDown1.Value > ProgressBar1.Maximum Then
                ProgressBar1.Value = NumericUpDown1.Value / ProgressBar1.Maximum * 100
            End If
     
    End Sub
    Lorsque l'utilisateur clique sur le numericUpDown (fleche du haut ou du bas) alors la barre de progression se mets à jour.

    ATTENTION : Il faut que tu créés 1 masque de saisi (dans la Textbox qui définie le "Total".) de facon à ce que l'utilisateur ne puisse entrer que des caractères numérique.

  5. #5
    Invité régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2012
    Messages : 16
    Points : 6
    Points
    6

    Par défaut

    merci
    J'y ai apporté quelques modifications, afin que le programme de crash pas quand le NumericUpDown a une valeur qui descend en dessous de 0, et aussi j'ai plutôt utilisé un système de pourcentage, qui était bien plus simple à gérer, voilà donc le code final qui fonctionne parfaitement bien!
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub total_TextChanged(sender As System.Object, e As System.EventArgs) Handles total.TextChanged
            If total.Text <> "" Then
                ProgressBar1.Maximum = 100
            End If
        End Sub
     
        Private Sub NumericUpDown1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles NumericUpDown1.ValueChanged
            If Not NumericUpDown1.Value > ProgressBar1.Maximum Then
                If Not NumericUpDown1.Value < ProgressBar1.Minimum Then
                    ProgressBar1.Value = (NumericUpDown15.Value / CInt(total.Text)) * 100
                End If
            End If
        End Sub
    merci bien problème résolu!

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •