watek wyklada sie na this.Refresh();.. ???

0

witam, taki problem maly, mam watek i wszystko sie kompiluje, po uruchomieniu program sie wyklada na this.Refresh(); i dostaje okienko invalid operation exception was unhandled, Cross-thread operation not valid: Control 'Form1' accessed from a thread other than the thread it was created on.

wykonywanie krokowe dziala, nie wiem dlaczego to nie chce..

kod:
private void Go_Click(object sender, EventArgs e)
{
DawajPunkty = true;
Thread t = new Thread(new ThreadStart(sdf));
t.Start();
}
public void sdf()
{
while(!stopp)
{
this.SC();
Thread.Sleep(2000);
}
}

public void SC()
{
...

 this.Refresh(); //tu daje okienko z bledem..

}

bede wdzieczny za pomoc

0

Watek inny niz watek formatki nie moze wykonywac na niej bezposrednio operacji, ani miec dostepu do kontrolek, itp. Uzyj Invoke - jak nie wiesz jak, to bylo pare razy na forum.

0

dzieki dziala ;)

delegate void rr();

...{
...
this.Invoke(new rr(rrr));
}

public void rrr()
{
this.Refresh();
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0