Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti,
In questo periodo sto cercando di comprendere tutti gli strumenti messi a disposizione dal framework, però mi sono bloccato sul backgroundworker.
Vorrei che se ne creasse ed avviasse 1 per ogni "A" trovata in una textbox... ho provato a fare così ma viene solo avviato UN SOLO backgroundworker(infatti cliccando il button2 scopro che la stringa "speriamo" è "11" mentre le "A" nella textbox sono molteplici):
Codice sorgente - presumibilmente VB.NET
Dim speriamo AsString="1"
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
Dim it AsString="A"
ForEach it In TextBbox1.text
Dim b AsNew System.ComponentModel.BackgroundWorker
bw = b
b.RunWorkerAsync()
Next
EndSub
WithEvents bw As System.ComponentModel.BackgroundWorker
PublicSub J(ByVal sender AsObject, ByVal e As System.ComponentModel.DoWorkEventArgs)Handles bw.DoWork
speriamo &="1"
EndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click
MsgBox(speriamo)
EndSub
Confido in voi... (come sempre)
Grazie
Ciao!!!
ilprogrammatore10
Ultima modifica effettuata da ilprogrammatore10 il 02/06/2009 alle 20:54
bw = b : questa riga di codice non ha senso, ed è quella che genera questo comportamento. Sostituiscila con:
Codice sorgente - presumibilmente C# / VB.NET
AddHandler b.DoWork, AddressOf J
Poi togli bw (è inutile), e anche la clausola "Handles bw.DoWork". Ogni worker avrà il suo gestore di evento, e non continuerai a reimpostare bw ad ogni ciclo.