Legros4960
Messages postés23Date d'inscriptiondimanche 20 septembre 2015StatutMembreDernière intervention10 janvier 2016
-
23 oct. 2015 à 16:35
Legros4960
Messages postés23Date d'inscriptiondimanche 20 septembre 2015StatutMembreDernière intervention10 janvier 2016
-
24 oct. 2015 à 14:00
Bonjour, ami programmeur,
je finalise un pgr de décompte (minuteur) en seconde, j'insère une progress bar qui doit-être remplie complètement quand le décompte est arrivé à " 0 ". Peu importe la valeur du décompte comprise en 1 et 100, 100 étant le remplissage complèt de la progress bar. Mais lorsque j'indique une valeur quelconque ( 78), la progress bar se remplie jusque 78 %, lorsque mon décompte arrive à zéro.
Dim ChangeTemps As Integer
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If LblAfficheTemps.Text = "0" Then 'SI le texte du Label1 est "0"... Timer1.Enabled = False 'Arret du Timer1
Else 'Sinon... LblAfficheTemps.Text = (LblAfficheTemps.Text - 1) 'On retir 1 au text du Label1 ProgressBar1.Increment(1) End If 'Fin du SI
If ProgressBar1.Value = ChangeTemps Then Label1.Text = "Au boulot !!" End If
Label2.Text = ProgressBar1.Value & ("%")
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ChangeTemps = InputBox("Enter un Temps en seconde", "modif temps") LblAfficheTemps.Text = ChangeTemps
End Sub
Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click Me.Close() End Sub
Private Sub TempsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TempsToolStripMenuItem.Click
Static ChangeTemps As Integer 'Declare ma variable ChangeTemps = InputBox("Enter un Temps en seconde", "modif temps") ' Utilise un inputbox pour entrer une donnée LblAfficheTemps.Text = ChangeTemps ' Envoie la donnée dans un label ProgressBar1.Value = 0 'reset la progress bar Label2.Text = 0% ' mets la valeur à zéro
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Timer1.Start() ' debut du timer End Sub
Il y a surement quelque chose qui m'échappe, merci de vos réponse
cs_Le Pivert
Messages postés7904Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention14 août 2024137 23 oct. 2015 à 17:04
Bonjour,
Apprends- toi à mettre:
Option Strict On
Cela corrigera tes erreurs
Voici le code:
Option Strict On
Public Class Form1
Dim ChangeTemps As Integer
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
If LblAfficheTemps.Text = "0" Then 'SI le texte du Label1 est "0"...
Timer1.Stop() 'Arret du Timer1
Else 'Sinon...
LblAfficheTemps.Text = CStr((CDbl(LblAfficheTemps.Text) - 1)) 'On retir 1 au text du Label1
ProgressBar1.Increment(1)
ProgressBar1.Maximum = ChangeTemps 'ligne ajoutée pour remplir la progressBar
End If 'Fin du SI
If ProgressBar1.Value = ChangeTemps Then
Label1.Text = "Au boulot !!"
End If
Label2.Text = ProgressBar1.Value & ("%")
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Timer1.Start() ' debut du timer
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
ChangeTemps = CInt(InputBox("Enter un Temps en seconde", "modif temps"))
LblAfficheTemps.Text = CStr(ChangeTemps)
End Sub
End Class
cs_Le Pivert
Messages postés7904Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention14 août 2024137 23 oct. 2015 à 17:46
Je n'avais pas vu cela pourquoi déclarer à nouveau ta variable ChangeTemps . Tu n'as pas compris ce que je t'ai dit dans le précédent post!
La variable est valable pour tout les Sub
Private Sub TempsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TempsToolStripMenuItem.Click
Static ChangeTemps As Integer 'Declare ma variable
ChangeTemps = InputBox("Enter un Temps en seconde", "modif temps") ' Utilise un inputbox pour entrer une donnée
LblAfficheTemps.Text = ChangeTemps ' Envoie la donnée dans un label
ProgressBar1.Value = 0 'reset la progress bar
Label2.Text = 0% ' mets la valeur à zéro
End Sub
cgandco
Messages postés218Date d'inscriptionmercredi 26 octobre 2011StatutMembreDernière intervention22 juin 20179 24 oct. 2015 à 11:39
bonjour,
Dans ton code, Label2 ne montera que jusque 78% par exemple.
23 oct. 2015 à 17:46
La variable est valable pour tout les Sub
24 oct. 2015 à 11:39
Dans ton code, Label2 ne montera que jusque 78% par exemple.
en plus juste.
bonne journée
24 oct. 2015 à 13:52
24 oct. 2015 à 13:52
24 oct. 2015 à 14:00