똑똑해진느낌/C#
[C#] 크로스 스레드 작업이 잘못되었습니다. 해결 방법
찐쿵
2019. 8. 26. 14:27
VB 나 C# 으로 스레드 및 폼 작업을 하다보면 아래와 같은 현상을 종종 만날 수 있다!
[ System.InvalidOperationException ]
원인 : 공통으로 사용하는 오브젝트에 스레드들이 접근하게끔 프로그래밍이 되어 있어 발생하는 오류
(다른 스레드에서 컨트롤에 접근하려 할 때, 예외 발생 !!)
해결 방법 :
1) Delegate 와 Invoke를 따로 선언하고 호출해줌 ...
(http://msdn.microsoft.com/ko-kr/library/ms171728(v=vs.100).aspx)
2) BackgroundWorker 로 다중 스레딩 사용
( 상위와 동일 )
3) "CheckForIllegalCrossThreadCalls = False" 지정
(임시방편, 크로스 스레드 오류 무시)
CheckForIllegalCrossThreadCalls = False