Chiudere Form da Thread Separato [VB.net]

lunedì 07 marzo 2011 - 10.38
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2008

anza Profilo | Newbie

Ciao a tutti e scusate la domanda stupida.

Ho un processo che ci mette circa 2 Minuti a scambiare dei file su FTP e provoca un blocco del software.
Mi sono creato un for con una gif animata (waiting) che si innesca quando inizia la procedura.
Non riesco a chiuderlo quando finisce, il metodo close o hide non funziona.

Vi posto il codice molto banale:


Private Sub AggiornamentoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AggiornamentoToolStripMenuItem.Click
Dim t As New Threading.Thread(AddressOf Aggiorna_Dati)
Waiting.MdiParent = Me
Waiting.Show()
t.Start()
End Sub


Private Sub Aggiorna_Dati()

...
...
Waiting.Close()

End Sub

Esiste forse un metodo diverso quando uso un thread separato ?

Vi ringrazio dell'attenzione


luigidibiasi Profilo | Guru

Si, devi far riferimento ai delegati.

In questo caso semplice in cui vuoi chiudere solo il form puoi usare il methodinvoker (vedi su msdn)

fammi sapere se riesci
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

anza Profilo | Newbie

Ciao , ho letto qualche cosa, ma non ci ho capito molto.

Hai da farmi vedere qualche esempio ?

luigidibiasi Profilo | Guru

fai una cosa del tipo

private sub _nascondi()
' codice x nascondere la form

end sub
private _invokeMe as methodinvoker = new methodinvoker(addressof _nascondi)


' da dentro il thread come ultima istruzione chiami
me.invoke(_invokeMe)

Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/

anza Profilo | Newbie

Perfetto. Ti ringrazio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5