Ja tylko w kwestii formalnej, bo oczywiście wiem jak się to robi. Załóżmy sobie, że wątek ma zrobić coś takiego:
for(int i=0 ; i< 10 ; i++)
{
Sleep(1000);
//Ustaw label1 na bieżącą wartość i
}
a następnie skończyć się.
Teraz: jak uważacie, czy taki kod realizujący zadanie:
new Thread(new ThreadStart(()=>
{
for(int i=0;i<10;i++)
{
Thread.Sleep(1000);
if (label1.InvokeRequired) label1.Invoke((MethodInvoker)(() => { label1.Text = i.ToString(); }));
else label1.Text = i.ToString();
}
})).Start();
to wg was dobre podejście do tematu czy nie i dlaczego? Chodzi o filozofię umieszczenia "wszystkiego w jednym miejscu", kod działa oczywiście ale zastanawiam się czy powinno się tak robić?