btnScan => Main Thread
메인스레드가 아닌곳에서 접근할려면 이렇게 하면 된다.
btnScan.BeginInvoke((Action)(() => btnScan.Enabled = true));
예를 들어
Thread tr;
private void button2_Click(object sender, EventArgs e)
{
tr = new Thread(method);
tr.Start();
}
private void method()
{
button1.Enabled = false;
button1.BeginInvoke((Action)(() => button1.Enabled = true));
Action act = new Action(invokemethod);
button1.BeginInvoke(act);
button1.BeginInvoke((Action)invokemethod);
}
private void invokemethod()
{
button1.Enabled = false;
}
이 서브 스레드에서 윈폼의 컨트롤러에 접근시 위와 같이 사용
댓글 없음:
댓글 쓰기