Timer et application.doevents
Bonjour,
Je rencontre quelques soucis avec l'utilisation d'un timer..
Mon application effectue un scan qui peut être assez long et pendant lequel l'interface "ne répond pas". Pour que l'aspect visuel (progressbar par exemple) réponde, je veux utiliser la méthode application.doevents(), qui marche bien quand j'en met un peu de partout dans mon code ! Mais j'aimerais faire quelque chose de plus propre, et j'ai pensé à utiliser un timer, qui par exemple, toutes les 100ms lance un application.doevents() Peut-être y'a t'il une meilleure manière de faire ? En tout cas, ça ne fonctionne pas !
'Lorsque je lance le scan :
Code:
1 2 3
| timerdoEvents.Enabled = True
timerdoEvents.Interval = 100
timerdoEvents.Start() |
et le code de mon timer :
Code:
1 2 3
| Private Sub timerdoEvents_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerdoEvents.Tick
Application.DoEvents()
End Sub |
Où est mon erreur ? En exécution en pas à pas, il ne rentre jamais dans Private Sub timerdoEvents_Tick, donc n'exécute jamais Application.DoEvents()