Précédent   Forum du club des développeurs et IT Pro > Dotnet > Langages > VB.NET
VB.NET Forum d'entraide sur la programmation Visual Basic .NET. Avant de poster -> FAQ VB.NET, Articles VB.NET, Sources VB.NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/01/2013, 12h34   #1
neoph
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2012
Messages : 11
Points : 4
Points : 4
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
neoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 12h57   #2
Rainui
Membre expérimenté
 
Homme Yves TRICHAUD
Technicien bio médical
Inscription : décembre 2012
Messages : 219
Détails du profil
Informations personnelles :
Nom : Homme Yves TRICHAUD
Âge : 29
Localisation : France, Gard (Languedoc Roussillon)

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

Informations forums :
Inscription : décembre 2012
Messages : 219
Points : 534
Points : 534
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
Rainui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 13h38   #3
neoph
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2012
Messages : 11
Points : 4
Points : 4
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?
neoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 14h23   #4
wallace1
Membre habitué
 
Homme
Administrateur systèmes et réseaux
Inscription : octobre 2008
Messages : 62
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : octobre 2008
Messages : 62
Points : 139
Points : 139
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.
wallace1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 14h43   #5
neoph
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2012
Messages : 11
Points : 4
Points : 4
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!
neoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h56.


 
 
 
 
Partenaires

Hébergement Web