고렙님들의 조언이 필요해서 글 씁니다!
제가 메인 윈폼의 Load 이벤트에
쓰레드를 하나 생성해서 작업을 하도록 해두었습니다
이렇게 하면 윈폼 컨트롤에 접근시 항상 Invoke 메서드를 이용해서 처리를 하는데
이렇게 말고
자유로운 접근이 가능하도록 할 수있는 방법은 없나요?
왜냐하면...
원인!!!
현재 윈폼에는 Panel이 하나 들어있구요
윈폼 Load시에 Panel안에 컨트롤을 하나 집어넣습니다.
(Panel.controls.add(컨트롤))
그리고 쓰레드가 하나 시작되고 전체 프로그램이 종료 할 때까지
그 쓰레드는 UDP 통신을 Loop 돌면서 Receive 하는 작업을 합니다.
그러다가 특정 데이터를 받으면 Panel에 넣었던 컨트롤을 Dispose 시킵니다
(컨트롤.dispose())
그리다가 다시 특정 데이터를 받으면 Dispose 시켰던 컨트롤을 다시 인스턴스화 시켜서
(new 컨트롤())
이거를 다시 윈폼의 Panel에 넣으려고 시도 하면
오류가 발생합니다.
현재 쓰레드에서 생성된 컨트롤은 윈폼 쓰레드에서 생성된 패널안으로 넣을수 없다는 뭐 이런 오류였네요.
이거를 해결하는게 최종 목적입니다.
혹시 아이디어 있으시면 조언 부탁드립니다!!ㅠ