Bonjour, je souhaite démarrer un timer depuis un thread mais cela ne fonctionne pas, je pense qu'il s'agit du même problème que lorsque l'on essaye de modifier un élément de la fenêtre depuis un thread ?
Mais comment puis je faire ? mettre un sleep ? mais cela figera mon application

voici mon code simplifié :
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
35
36
37
38
39
 
 
'au demarrage de l'application
_threadMail = New Thread(New ThreadStart(AddressOf reception))
_threadMail.Name = "Thread1"
_threadMail.Start()
 
Public sub reception()
'plein de traitement avant puis ce qui nous intéresse 
traitement_data()
End sub
 
'c'est dans traitement_data() que je lance mon timer qui ne s'execute jamais :
Public sub traitement_data()
'plein de traitement puis on lance le tr
'on demarre le tr_print pour aprés 16 secondes lancer l'impression avec la carte si elle a eu le tps de venir
            Tr_print.Interval = 16000
            Tr_print.Start()
End Sub
 
'et enfin le timer qui ne s'éxecute pas 
 Private Sub Tr_print_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tr_print.Tick
        'on parcours aprés 12 secondes le dossier pour voir la carte avec le numero dop en png est présente ou pas
        Try
            If System.IO.File.Exists(dossier_fax + "\" + numero_op.ToString + ".png") Then
                impression_ticket() 'si on a trouve le fichier on imprime
                les_try("tr_print_tick() on imprime on a la carte")
                Tr_print.Stop()
                Exit Sub
            Else
                impression_ticket()
                les_try("tr_print_tick() à detecté que le fichier " + numero_op.ToString + ".png est absent")
                Tr_print.Stop()
                Exit Sub
            End If
        Catch ex As Exception
            les_try("tr_print_tick() " & ex.ToString)
        End Try
    End Sub