GUI 스레드와 메시지 루프에 대한 기본적인 지식이 있지만 모달 창을 시작하는 한 창에 어떻게 적용되는지 궁금합니다. 만약 내가 추측해야만한다면, 두 윈도우가 같은 GUI 스레드 아래에서 실행 중이며 일부 매개 변수는 자식 윈도우 (모달 윈도우)가있는 이벤트 만 실행된다는 것을 나타냅니다. 그렇지 않으면 사용자에게 모달 윈도우를 지적합니다. .어떤 스레드가 .Net의 모달 대화 상자 창을 처리합니까?
이것은 단순한 교육을받은 추측이며 나는 정사각형이 잘못되었을 수도 있음을 인정합니다. "GUI 스레드"가 해당 스레드의 올바른 이름인지 확실하지 않지만, 사람들은 일반적으로 내가 말하는 것에 대해 추측 할 수 있습니다.
요약하면 간단히 말해서 스레드와 모달 창은 어떻게 함께 진행됩니까?
모달 대화 상자를 여는 것은 블로킹 호출입니다. 호출 윈도우는 모달 대화 상자가 닫히고 더 이상의 이벤트 자체를 처리하기를 기다립니다. –
@Robert Harvey, 부모 창을 차단하는 동안 모달 창은 새 스레드에서 실행됩니까? 그것은 정확히 다시 칠하는 것과 같은 부모 윈도우의 이벤트를 의미합니까? –
제 생각에 모달 대화 상자는 여전히 기본 GUI 스레드에서 실행됩니다. 모달 대화 상자가 표시되는 동안 백그라운드에서 처리 (메인 폼의 다시 그리기 포함)가 필요하면 백그라운드 프로세스가 실행될 새 스레드를 스핀 오프해야합니다. –