2011-10-19 7 views
0

J'ai quelque chose commeDispatcherTimer déclenche une seule fois

Private Sub Window_Loaded 
    Timer1 = New DispatcherTimer 
    Timer1.Interval = TimeSpan.FromMilliseconds(2000) 
    AddHandler Timer1.Tick, AddressOf TickMe 
    Timer1.Start() 
End Sub 

Private Sub TickMe() 
//calls a function here 
End Sub 

Il appelle une seule fois la fonction et ne l'appelle pas par la suite. Comment puis-je l'appeler toutes les 2 secondes?

+0

Que fait la fonction dans 'TickMe'? Est-ce que toute votre interface est suspendue? Avez-vous essayé de faire quelque chose de simple comme 'Console.WriteLine' dans' TickMe'? –

+0

il appelle une autre fonction pour changer l'étiquette de texte – cicakman

+0

Alors qu'est-ce qui vous fait penser qu'il est seulement appelé une fois? Avez-vous défini un point d'arrêt ou êtes-vous simplement en train d'observer l'étiquette? –

Répondre

0

Je ne suis pas sûr de ce que vous avez mis dans le gestionnaire d'événements, mais cela fonctionne très bien pour moi. Essayez de passer un appel à MessageBox.Show("hello world") dans le gestionnaire, et vous verrez le DispatcherTimer continuer à émettre jusqu'à ce que vous appelez Stop().