@PocFreak

Das liegt u.U. daran, das Timer sehr CPU-lastige Komponenten sind. Man sollte immer so wenig Timer wie möglich nehmen.
Außerdem sind Timer nicht immer auf die Millisekunde genau.

Je länger ein Timer eingestellt ist, desto größer ist auch die ungenauigkeit.

Mein Vorschlag : EINEN Timer benutzen, der mit 1000ms läuft.
Dabei soll er sich jedesmal die Systemzeit holen und mit der Startzeit vergleichen. Die Systemzeit ist immer auf die ms genau.
Prüfe einfach ob die Systemzeit sich nach dem Programmstart um 2 Minuten geändert hat und dann beende dein Programm.

Die Anzeige im Textfeld soll ja sicher nur anzeigen, wie lange das Programm noch offen ist, oder ?

Alternativ kannst du auch einfach in den 1000ms Timer nen Zähler reinmachen, der bis 120 zählt und dann beendet.
Das ist aber auch noch recht ungenau.

Kannst mich auch gerne mal per Mail kontaktieren.
Gibt noch einige andere Möglichkeiten.

Gruß Joachim