Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
WeeN
Newbie
Newbie

Anmeldedatum: 14.09.2010
Beiträge: 1

Timer-Event wird zweimal gefeuert
Verfasst am: 14.09.2010, 09:51

Bin noch im Einarbeiten in VB .Net und habe folgendes Problem:

Ich habe 3 Timer und habe eine Methode, mit der ich auf die Tick-Ereignisse der Timer reagiere.

Private Sub ResetDisplay(ByVal Timer As Object, ByVal EventArgs As EventArgs)
Handles timerReset1.Tick, timerReset2.Tick, timerReset3.Tick

Jetzt wird das Event aber zweimal kurz hintereinander abgefeuert, was eher suboptimal ist.

In New() werden die AddHandler hinzugefügt:

AddHandler timerReset1.Tick, AddressOf ResetDisplay
AddHandler timerReset2.Tick, AddressOf ResetDisplay
AddHandler timerReset3.Tick, AddressOf ResetDisplay

Derzeit behandle ich aber nur den ersten Timer.
Mein Aufruf sieht jetzt so aus, dass ich erst einmal den Intervall setze und den Timer dann mit Start() starte:

timerReset1.Interval = 5000
timerReset1.Start()

Dieser Code wird derzeit ausgelöst, wenn ich auf einen Button klicke (soll später mit einem Event aufgerufen werden)

Mein derzeitiger Code in der ResetDisplay ist folgender:

TryCast(Timer, Timer).Stop()
Console.WriteLine("Tick-Ereignis ausgelöst!")

Ich hatte vorher eine MessageBox, hatte dann aber in der MSDN gelesen, das im Debug mit einer MessageBox das Event womöglich 2-mal gefeuert wird. Hab es jetzt mit dem Code ersetzt, aber es läuft immer noch zweimal ab. Wird irgendwo das Event 2-mal verarbeitet oder sowas? Wäre für mögliche Hinweise dankbar.
 
PokemonProgrammierer
Newbie
Newbie

Anmeldedatum: 23.07.2010
Beiträge: 14


Verfasst am: 21.09.2010, 21:18

Vielleicht hilft dir das weiter. Zumindest ist das der Code in Vb6.
Du könntest alle Timer auf False setzen den Inteval ändern und dann wieder auf True. Und
falls du möchtest das der Timer nur begenzt läuft machst du ein Modul

Code:

Global zaehler


Und dann schreibst du in den (bzw. die) Timer:

Code:

If zaehler = 1 then Timer1.Enabled = False 'oder Exit Sub
zaehler = zaehler + 1

Nein danke, ich kaufe nichts!
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: event aufgerufen, addhandler timer, ausgelöst, zweimal

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Button/Text 958 18.06.2009, 16:21
Keine neuen Beiträge E-Mail bekomm nach Button klicken 713 02.10.2007, 17:45
Keine neuen Beiträge Bestimmten "Button" auf Website klicken 1684 14.09.2007, 21:27
Keine neuen Beiträge webbrowser/ webformular button klicken 1611 23.07.2007, 23:07
Keine neuen Beiträge Button drücken.. 842 01.07.2007, 13:19
 


[ Time: 0.0629s ][ Queries: 83 (0.0247s) ][ GZIP on - Debug on ]