ti rispondo in ordine.
1) il meotdo .join() aspetta che il thread finisca, quindi se chiamato lì ti fermerà l'applicazione in attesa che il thread finisca...in pratica è come non usare i thread.
Se devi evitare di entrare nell'IF successivo, non pui metterci semplicemente un return?
2)Esiste un evento legato alla form che si chiama FormClosing.
Il metodo che legherai a questo evento dovrà contenere le istruzioni per chiudere il thread: ad esempio thread.Abort(); (non sono sicuro che sia questa l'esatto nome del metodo, ma sicuramente qualcosa di simile)
Ciao![]()