게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C# 윈폼에서 폼을 별도 쓰레드로 띄우고 싶다고 하신분 봐주세요..
게시물ID : programmer_8882짧은주소 복사하기
작성자 : REGENTAG
추천 : 0
조회수 : 1894회
댓글수 : 1개
등록시간 : 2015/03/24 22:02:40
결론부터 말씀드리자면 모든 UI 요소는 메인 쓰레드에 있어야 합니다.
윈도 메시지를 처리하는 루프에서 메시지를 받아와야 하거든요.
폼 하나만 별도의 쓰레드에서 동작시키는건 일반적인 상황에서는 불가능합니다.

Win32를 비롯해서 C#의 윈폼이나 안드로이드, Qt 등등 대부분의 GUI 라이브러리들은 UI 요소는 메인 쓰레드 하나가 모두 처리하도록 되어있습니다.

Typcial_Main_Loop.jpg

자세한 내용은 이 링크에 잘 설명되어 있어요: http://everysw.tistory.com/8
그림도 이 링크에서 가져왔습니다.

폼을 띄웠을 때 메인 창이 블록된다면
  1. 폼을 모달 옵션을 줘서 띄우고 있었다면 모달리스로 변경해 주세요.
  2. 처리시간이 오래 걸리는 작업은 별도의 쓰레드에서 실행한 후 결과만 UI 쓰레드로 통보하도록 하세요.


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호