2) Im Timer-Event immer den Timer abschalten, Code ausführen und dann wieder den Timer einschalten
Warum? Oder genauer: Warum
immer?
Praktische Erfahrung:
Gerade bei sehr kurzen Timerintervallen kann es passieren, dass das Ereignis bereits wieder ausgelöst wird, bevor das letzte Ereignis komplett verarbeitet wurde.
Bei dem Intervall von 50 MS hier im Beispiel kann es, wenn gleichzeitig ein Tastaturereignis durch Festhalten einer Taste sehr oft ausgeführt wird, eben zu dem beschriebene Verhalten kommen. Vor lauter Tastaturereignisverarbeitung und wiederholtem Auslösen des Timers kommt Windows irgendwie nicht mehr so recht mit und das System scheint mehr oder weniger zu stehen. Gerade langsamere System kann man so recht schnell und effektiv (bis zur Unbedienbarkeit) ausbremsen.