Thread 내부에서 Control의 속성을 변경은 해당 Thread Method내에서는 불가능 하다.
Control도 따로 Thread가 돌아가기 때문에 해당 Thread Method내에서 Control Thread에 접근 할 수 없기 때문이다!! 하지만 접근 할 수 있는 방법이 있다.
바로 대리자를 이용하여 접근 하는 방법이다.
내용을 대충 보면
이러한 내용이다.
this.Invoke 를 이용하여 변경한다!
form 전체가 될 수 도 있고 해당 Control만도 접근 가능하다
해당 Arg도 줄 수 있다!! 이런식으로 해당 Control에 Data를 실시간으로 Update 가능 한 형태로 제작 가능하다!!
Control도 따로 Thread가 돌아가기 때문에 해당 Thread Method내에서 Control Thread에 접근 할 수 없기 때문이다!! 하지만 접근 할 수 있는 방법이 있다.
바로 대리자를 이용하여 접근 하는 방법이다.
내용을 대충 보면
private delegate void ControllImageChange(int type, int index, int stat) ThreadMethod() { this.Invoke(new ControllImageChange(delegateModule), new object[] { arg1, arg2, arg3 }); } private void delegateModule(int type, int index, int stat) { //----------------------------------------- //Control 제어 내용 (Data 및 속성 값 변경) //----------------------------------------- }
이러한 내용이다.
this.Invoke 를 이용하여 변경한다!
form 전체가 될 수 도 있고 해당 Control만도 접근 가능하다
해당 Arg도 줄 수 있다!! 이런식으로 해당 Control에 Data를 실시간으로 Update 가능 한 형태로 제작 가능하다!!