quarta-feira, 15 de junho de 2011

Barra de progresso com backgroundWorker (C#)

O tutorial a seguir demonstra como incrementar o valor de um objeto progressBar trabalhando com background worker.

primeiramente crie um objeto backgroundWorker e um evento DoWork:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for(int i = 0; i<100; i++)
{
//o seu código da tarefa vai aqui, uma conexão com banco de dados por exemplo
backgroundWorker1.ReportProgress(i);
}

}

crie um evento ProgressChanged do backgroundWorker:

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Valuet = e.ProgressPercentage;
}

ainda é possível executar tarefas após a conclusão da tarefa criando um evendo RunWorkerCompleted:

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//Aqui vai seu código após a tarefa ser concluída, por exemplo um fechamento de conexão
}

Lembro que a progressBar deve ser devidamente configurada de acordo com sua necessidade (step, max/min, etc).

Nenhum comentário:

Postar um comentário