none
AddMilliseconds(1) pour un chronomètre RRS feed

  • Question

  • Bonjour,
    J'essaye de faire un chronomètre et la fonction AddMilliseconds(1) ne semble pas incrémenter ma variale temps2
    Pourquoi ?
    Puis-je utiliser cette fonction AddMilliseconds(1) ou dois-je re-développer la roue c'est à dire créer une variable heure, minute seconde et milliseconde et les incrémenter à chaque tick du timer ?

    Voici mon code:

    Public Class FormMain
        Dim ChronoStarted As Boolean = False
        Dim temps2 As Date

        Private Sub FormMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ChronoStarted = False
            TimerChrono.Enabled = True
            TimerChrono.Interval = 1000
            LabelCompteur.Text = "00:00:00:000"
            temps2 = "01/01/2008 00:00:00"
        End Sub

        Private Sub ButtonStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStart.Click
            If ChronoStarted Then
                ChronoStarted = False
                ButtonStart.Text = "Start"
            Else
                ChronoStarted = True
                ButtonStart.Text = "Stop"
            End If
        End Sub

       
        Private Sub TimerChrono_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerChrono.Tick
            temps2.AddMilliseconds(1)
            LabelCompteur.Text = temps2.ToString ' cela n'affiche rien
            LabelCompteur.Text = temps2.Minute.ToString & temps2.Second.ToString & temps2.Millisecond.ToString
    ' cela n'affiche rien
            LabelCompteur.Refresh() ' cela n'affiche rien aussi
        End Sub
    End Class

    lundi 20 octobre 2008 12:14

Réponses

  • Ton chrono ajoute toutes les secondes (TimerChrono.Interval = 1000) une milliseconde (temps2.AddMilliseconds(1)).

     

    Pourquoi à la place tu n'enregisterait pas le date de départ lorsque tu cliques le bouton et dans ton tick count tu fais la différence entre la date courante et la date de départ. Ceci te permettrait d'être précis sans incrémenter toi même ton compteur. En plus, si jamais ton application "gèle" a cause de trop grand calculs, tu vas perdre des secondes!

    lundi 20 octobre 2008 12:30
    Modérateur

Toutes les réponses

  • Ton chrono ajoute toutes les secondes (TimerChrono.Interval = 1000) une milliseconde (temps2.AddMilliseconds(1)).

     

    Pourquoi à la place tu n'enregisterait pas le date de départ lorsque tu cliques le bouton et dans ton tick count tu fais la différence entre la date courante et la date de départ. Ceci te permettrait d'être précis sans incrémenter toi même ton compteur. En plus, si jamais ton application "gèle" a cause de trop grand calculs, tu vas perdre des secondes!

    lundi 20 octobre 2008 12:30
    Modérateur
  • en effet c'est plus facile
    ça marche mieux comme cela
    merci
    lundi 20 octobre 2008 15:58