MultiThreading

giovedì 02 aprile 2009 - 12.49

fausto1965 Profilo | Newbie

Salve a tutti!
Qualcuno potrebbe gentilmente indicarmi come integrare il codice seguente con tanto di Delegate e Invoke per la TextBox1 per
poter richiamare la Sub “caricadati” con un diverso Thread impostato sull’evento Load del Form???

Ringrazio anticipatamente e saluto!

Public Class ElencoComuniNazionali

Private listacomuni As AutoCompleteStringCollection

Private Sub caricadati ( )
Me.ComuniTableAdapter.Fill (Me.ComuniDataSet.Comuni)
For Each row as DataRowView in Me.ComuniBindingSource.List
Listacomuni.Add(row(“Citta”))
Next

Me.TextBox1.AutoCompleteCustomSource = listacomuni

llamanna Profilo | Junior Member

In questi casi bisogna utilizzare l'oggetto BackGroundWorker
Non sono esperta di vb.net. Quindi preferisco rimandarti direttamente alla documentazione sull'oggetto piuttosto che scrivere il codice.

http://msdn.microsoft.com/it-it/library/8xs8549b(VS.80).aspx

Laura.
http://lauralamanna.blogspot.com/

fausto1965 Profilo | Newbie

Grazie comunque Laura!

freeteo Profilo | Guru

Ciao,
potresti impostare "Control.CheckForIllegalCrossThreadCalls = false" così eviti i problemi di Cross-thread, non è il massimo ma potrebbe essere comodo.

oppure un codice di questo tipo, senza BackgroundWorker:

miaTextBox.Invoke(new MethodInvoker( delegate() { outputTextBox.Text = ....; outputTextBox.Refresh(); }));


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

fausto1965 Profilo | Newbie

Grazie Matteo! scelgo la soluzione utilizzando i Delegate e Gli Invoke
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5