Se non serve che l' utente la vedi, perché semplicemente non imposti Form2.Location FUORI dal monitor? Eviti ogni problema di sfarfallio.
Eppoi se devi eseguire solo un operazione, perché non usi un Modulo anziché un Form o, ancor più semplicemente, non esegui l' operazione direttamente in Form1 e solo poi non lanci Form3 da Form1?
Infatti se scrivi:
Form2.Show()
Form2.Hide()
Form3.ShowDialog()
se Form3 deve visualizzare un risultato della operazione (magari complessa) eseguita in Form2... il codice NON ASPETTA il risultato: Form3 dovresti richiamarlo da Form2 ad operazione eseguita e non da Form1
... ma senza tutto il codice evidentemente non è chiaro il tuo intendimento.

Rispondi quotando