Dunque: il codice che ti ho postato è quello che è alla fine degli eventi load SIA del primo SIA del secondo form...

Nel primo form funziona, nel secondo no...

Io sono + che ben disposto a passarti il programma se vuoi, ma mi sembrava di chiedere troppo...

Forse però sarebbe anche la soluzione migliore onde evitare gli equivoci precedenti.... ( :rollo: )

Scherzi a parte, anche se so che l'ho fatto, volevo evitare di fare post troppo lunghi, per quello non ho ancora postato il codice...

Ti posto se vuoi un riassuntino....

codice:
frmMain_Load

file.delete(gkfilefermauscita)

'***
'Qui viene fatta una procedura che in caso di errori crea il FileFermaUscita (SOLO in caso di errori)


'***
'Finita la procedura devo comunque apripre il form secondario (e uso il metodo che mi hai spiegato)

Me.Hide()

Dim formTrasferimento As New frmTransfer()

formTrasferimento.ShowDialog()

formTrasferimento = Nothing

Me.Show()

'***
'Quando il form di trasferimento verrà chiuso faccio quelle 3 famose righe di controllo per vedere se uscire o meno

If Not File.Exists(gkFileFermaUscita) Then
    Me.Close()
Else
    butClose.Visible = True
End If

END SUB



'*** il secondo form è pressoche identico cambia solo la parte di elaborazione: c'è sempre ma fa delle cose diverse (e man mano che lavora mostra una progress bar).

frmTransfer_load

'*** Trasferimento del file con incremento della progress bar e creazione del file gkFileFermaUscita se si generano errori


'Controllo se chiudere il form o meno... con le medesime righe del primo form

If Not File.Exists(gkFileFermaUscita) Then
    Me.Close()
Else
    butClose.Visible = True
End If

END SUB
Ecco qui... uff che fatica...

Beh, se non ci troviamo così l'unica rimane davvero mandarti il progetto!

Comunque il mio problema almeno ora è chiaro?

Ti assicuro che il problema è lì (benchè non nego che mi sbaglio spesso), ma ho fatto le dovute prove riducendo il codice del programma al nulla.... lasciando solo i pezzi che ti ho riportato qui...

FF