Non preoccuparti che il codice sia "piu corto"; è importante che funzioni (ovviamente), che sia ben "organizzato" e facilmente leggibile.
Il codice corto, più che altro l'eseguibile corto, può essere necessario solo in pochi sw, ad esempio un cronometro. Inoltre, appunto, non è detto che se il codice che scrivi è lungo lo sia anche l'eseguibile; ad esempio, se il nome di una variabile è X ma decido di cambiarlo e la chiamo CoordinataOrizzontale, l'eseguibile avrà lo stesso numero di byte.
Comunque, il codice proposto da
@bgsoft (sconsigliato da Erel perché bloccherebbe il thread principale, anche se io non capisco il motivo, dato che si usa DoEvents; molto probabilmente il DoEvents non funziona come in VB.Net, ad esempio) serve per fare delle pause, non per il tuo scopo.