Dim dt As MaDateTime = DateTime.Parse(TextBox1.Text)
Option Strict On
Public Class Form1
Delegate Sub Delegatetmr()
Dim labels As New List(Of Label)
Dim tmr As New Timers.Timer(1000)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'intégration des labels au formulaire
For x As Integer = 0 To 3
labels.Add(New Label() With {.Parent = Me, .Top = x * 30})
Next
'abonnement a l'evenement elapsed
AddHandler tmr.Elapsed, AddressOf tmr_Elapsed
'demarrage timer
tmr.Start()
End Sub
Private Sub tmr_Elapsed(ByVal sender As Object, ByVal e As Timers.ElapsedEventArgs)
If Me.InvokeRequired Then
'invocation du délégué
Me.Invoke(New Delegatetmr(AddressOf tmr_ThreadSafe))
End If
End Sub
Private Sub tmr_ThreadSafe()
'heure de référence (maintenant)
Dim ref As Date = DateTime.Now
'affichage
labels(0).Text = ref.ToLongTimeString
'ajout de 6 heures
labels(1).Text = (ref + New TimeSpan(6, 0, 0)).ToLongTimeString
'ajout de 3 heures et 30 minutes
labels(2).Text = (ref + New TimeSpan(3, 30, 0)).ToLongTimeString
'retrait de 4 heures 15
labels(3).Text = (ref - New TimeSpan(4, 15, 0)).ToLongTimeString
End Sub
End Class
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = Format(Now, "hh:mm:ss")
Dim Difference As TimeSpan = TimeSpan.Parse(Label1.Text) - TimeSpan.Parse(Label2.Text)
If TimeSpan.Parse(Label1.Text) < TimeSpan.Parse(Label2.Text) Then
Difference = TimeSpan.Parse("24") + Difference
End If
Label3.Text = "Depuis " & Strings.Right("0" & Difference.Hours, 2) & " h " & Strings.Right("0" & Difference.Minutes, 2) & " mn " & Strings.Right("0" & Difference.Seconds, 2) & " S "
End Sub
End Class
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question