Es gäbe noch den
BackgroundWorker, der das Invoken für dich übernimmt und in zwei hübsche Events packt. Außerdem, äh, kann er auf die Form geklatscht werden
.
@implementation: Naja, solange man im Thread halbwegs einschätzen kann, wann mal wieder der Fortschritt angezeigt werden sollte, ist das eindeutig der leichtere Weg. Und auch wenn es hier nicht gerade um lebenswichtige Daten geht, müsste deine Variable mindestens als volatile gekennzeichnet werden, da sind wir schon wieder tief im Thema Thread-Synchronisierung, das ein reines Invoke meistens umgehen kann.