Jump to content


Photo

ProgressaBar dentro de uma Task

C# .net winforms wpf

  • Faça o login para participar
2 replies to this topic

#1 Lucas99

Lucas99

    Normal

  • Usuários
  • 84 posts
  • Sexo:Masculino
  • Localidade:Santos

Posted 30/04/2015, 04:57

Como posso modificar os valores de um controle de interface dentro de uma task separada da thread principal ?

Exemplo:

private void button1_Click(object sender, EventArgs e)
{
Task task = new Task(Processar);
task.Start();
}

public void Processar()
{
try
{
int i = 0; 

this.progressBar1.Maximum = 5000000;

for (i = 0; i < this.progressBar1.Maximum; i++)
{
this.progressBar1.Value = i;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

Ao executar esse pequeno trecho de código recebo essa msg...

Cross-thread operation not valid: Control 'progressBar1' accessed from a thread other than the thread it was created on

Tentei usar delegate, mas não deu muito certo.



#2 Danilomaru

Danilomaru

    Ativo

  • Moderadores
  • 300 posts
  • Sexo:Masculino
  • Localidade:brasil

Posted 03/05/2015, 21:46

Utilizando o método Invoke é possível realizar o que você quer:

private void button1_Click(object sender, EventArgs e)
{
Task task = new Task(Processar);
task.Start();
}

public void Processar()
{
try
{
Invoke((MethodInvoker)(() => { progressBar1.Maximum = 5000000; }));

for (int i = 0; i < progressBar1.Maximum; i++)
{
Invoke((MethodInvoker)(() => { progressBar1.Value = i; }));
}
}
catch (Exception ex)
{
Invoke((MethodInvoker)(() => { MessageBox.Show(ex.Message); })); 
}
}


#3 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 25/09/2017, 20:42

Legally Online Progesterone Mastercard Accepted Viagra Acheter France online pharmacy Cheap Cialis Super Active Zithromax How Fast Does It Work
Can I Get Colchicine From Cananda Discount Isotretinoin In Usa Drugs With Free Shipping cialis Achat Kamagra Strasbourg Bactrim Ds 800 Vs Amoxicillin 500





Veja alguns posts relacionados com: C#, .net, winforms, wpf

0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq