Es ist umständlich bis zum Geht-nicht-mehr, aber der Hauptfehler (1) ist: Ereignisse nur einmal registrieren und nicht in unendlicher Wiederholung.
Andere Umschönheiten sind: (2) Button sollte gelesen - und damit rückgesetzt werden - wenn die Aktion ausgeführt wird. (3) Nicht Wait sondern Timeout, damit jedes Ereignis sofort behandelt wird.
@jens
Die Zusammenfassung hatte ich ja schon vorgeschlagen und ein Beispiel gemacht. Das wurde aber zugunsten einer State-machine mit Einzelabfertigung jedes Buttons verworfen (Wobei das beides nichts miteinander zu tun hat). Ich bin ein großer Freund von state machines, aber was das hier außer Umständlichkeiten - genau so wie die Ereignisregistrierung - bringt ist nicht nachvollziehbar. Schlage also vor, wir lassen die hier weiter wursteln und widmen uns anderen Themen