윈도우 GUI 프로그래밍의 기본 규칙 중 하나는 [컨트롤을 만든 스레드만 컨트롤의 내용에 접근하거나 수정할 수 있다.] Winform에서 폼은 메인 스레드에 의해 구동이 되고 있다. 이 원칙 하에 발생하는 에러가 크로스 스레딩이다. UI 작업하면서 많이 발생하는데, UI에 접근하려면 UI를 만든 스레드만이 접근해야한다. 다른 스레드가 접근하면 안된다는 것. 이 문제를 해결하기 위헤 invoke 함수 사용 Invoke (누구의 이름을)부르다 라는 뜻이다. 하나의 Form을 다른 스레드에서 접근하게 될 경우에 기존의 Form과 충돌이 날 수 있다. 이때 invoke 함수를 사용해서 실행하고자 하는 메소드의 대리자(델리게이트)를 실행한다. 델리게이트는 메소드를 참조하는 대리자이다. 약간 함수포인터 같은 느낌...