[C#] BackgroundWorker (?)

lunedì 21 marzo 2011 - 07.15
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows Vista  |  Visual Studio 2010

beppenike Profilo | Newbie

Salve a tutti, sto scrivendo un programma con win form con al suo interno l'evento BackgroundWork per poter svolgere delle funzioni in loop con delay.
Ora però cercavo di capire come funziona il controllo, ed ho provato a fare qualcosa come:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; namespace background { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = (BackgroundWorker)sender; int contatore=0; while (true){ contatore++; worker.ReportProgress(contatore); Thread.Sleep(3000); } } private void button1_Click(object sender, EventArgs e) { backgroundWorker1.RunWorkerAsync(); } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { label1.Text = e.ProgressPercentage.ToString(); } } }

Praticamente clickando sul pulsante parte un loop infinito con contatore, ed il suo valore viene visualizzato all'interno della label1.
Ahimè peròp in pratica non funziona :\
Qualche aiuto?

Grazia anticipatamente :)

jackk87 Profilo | Junior Member

ciao dai un'occhio a questa guida su come lavora il backgroundworker anche se è di vb.net http://totemslair.org/guide/viewchapter.php?guida=vb&id=89

beppenike Profilo | Newbie

Ok ho risolto!

Ho dimenticato di dare un nome al metodo OnProgressChanged associato a BackgroundWork1:
backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler (b_update);
si fa la stessa cosa anche con il metodo "RunWorkerCompleted"

Potete lockare.
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