Willst du eine VB-Dummy-lösung kannst du dir die Komponente BackgroundWorker anschauen.
Um sicherzustellen, dass du eine Methode synchron zum Thread eines controls ausführst Gibt es Control.Invoke. Das war schonmal richtig.
Aaber müssen wir verstehen, warum Event und Methode bei dir gleich heißen?