bonsoir. je sais que beaucoup de topic sur ce site parle de minuteur et m^me dans la faq. mais j'ai beau lire et essayé mais je n'y arrive pas.
le problème est qu'on me demande de faire un minuteur entièrement avec de la programmation orientée objet.
voici mon code le code de la classe Minuteur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
Public Class Minuteur
    Friend WithEvents tm1 As System.Timers.Timer
    Private lab As System.Windows.Forms.Label
    Private _tmpEcl As TimeSpan
    Private span1 As TimeSpan = TimeSpan.Zero
    Private span2 As TimeSpan = New TimeSpan(0, 0, 0, 1, 0)
 
    'déclaration des methodes
    'Constructeur
 
    Public Sub Init_Min(ByVal lb As System.Windows.Forms.Label)
        _tmpEcl = TimeSpan.Zero
        lab = lb
    End Sub
 
    'prcoedure qui demarre le minuteur
    Public Sub Demarrer()
        tm1 = New System.Timers.Timer
        tm1.Start()
    End Sub
 
    'procedure qui affiche le resultat du compteur
    Private Sub affiche()
        _tmpEcl = span1.Add(span2)
        lab.Text = _tmpEcl.ToString
    End Sub
 
    'action du timer
    Private Sub tm1_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles tm1.Elapsed
        affiche()
    End Sub
 
End Class
et derrière un bouton sur un formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Private Sub Butt_act1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Butt_act1.Click
        Dim min1 As Minuteur = New Minuteur
        min1.Init_Min(Labecl1)
        min1.Demarrer()
 
        Butt_act1.Text = "Stop"
    End Sub
mais je reçois ce message à chaque fois que clique sur le bouton
Cross-thread operation not valid: Control 'Labecl1' accessed from a thread other than the thread it was created on.
j'ai déja réalisé ce programme en vb6 sans POO mais ici c'est un peu du spaghetti pour moi.
merci de vous porter sur mon problème.