Normalmente se abbiamo un thread secondario che genera eventi o invoca metodi di callback collegati a controlli grafici, è necessario utilizzare la proprietà "InvokeRequired" per redirigere l'invocazione dal thread secondario al thread principale ed evitare un'eccezione di cross-threading.
Attraverso il contesto di sincronizzazione è possibile fare in modo che sia il thread secondario a genera l'evento direttamente sul thread principale.