본문 바로가기

IT

[C#] 늘 헛갈리 Modal vs Modeless


안녕하세요, 모스크바에서 생활하고 있는 개발자 윤진입니다.

벌써 2월이 넘었네요.

이제 3월이면 한국으로 귀국합니다. 우훗.


윈도우 프로그래밍을 하려고 이곳저곳 기웃거리며 귀동냥을 하다가,

Modal과 Modeless의 작명 이유에 대해 쓰여진 글을 발견하였습니다.

예전부터 왜 저런식으로 작명했는지 궁금했었는데 오늘에서야 드디어 답을 얻었습니다.


With a modal dialog, you set your application in a particular mode (a different "state" if you will), whereby only actions pertaining to that "mode" are accepted, hence preventing UI actions outside of the dialog.


At Andreas' prompting I thought I may have to dig dusty Windows API books, as often, the etymology/origin of a word or expression that has became broadly accepted is only found in early documentation, but in fact we still see this referenced in an online glossary from MS. The Modal entry reads (emphasis is mine):

modal

Restrictive or limited interaction due to operating in a mode. Modal often describes a secondary window that restricts a user's interaction with the owner window. See also: modeless.



Modal에서는 새로운 뷰가 열렸을 때 기존의 뷰를 사용할 수 없습니다.

이 경우 뷰를 관리하는 앱 입장에서는 새로운 상태(곧, 모드)에 진입한 셈이고,

새로운 뷰로만 이벤트를 건네주고 이전 뷰로는 이벤트가 넘어가지 않습니다.


Modeless는 새로운 뷰가 열린다고 하여 새로운 모드에 진입하는 것은 아닙니다.

기존 뷰와 새로운 뷰 각각이 이벤트를 받을 수 있습니다.

그렇기에 별도의 모드가 없다고 하여 모달리스라 명명된 것입니다.



* 출처

http://stackoverflow.com/questions/1607783/why-is-a-modal-modeless-dialog-called-modal-modeless