Nell'evento KeyUp del Form puoi testare il KeyCode per individuare quale tasto è stato premuto ed alterare di conseguenza le coordinate del controllo Shape.
E' indispensabile anche impostare la proprietà KeyPreview del form a True.
Proprio perché intercetterai l'evento di pressione di un tasto, non avrai bisogno di nessun ciclo e di nessun timer. Visual Basic è un linguaggio Event driven .Originariamente inviato da vitna91
Poi naturalmente io lo inseriro in un ciclo, con un timer per fare in modo che il programma possa ricevere costantemente questi comandi