Приложение модальных файловых диалогов на окнах - PullRequest
2 голосов
/ 03 декабря 2011

Как сделать приложение «Общие диалоговые окна файлов» модальным с помощью Common File Dialog API? Диалоги появляются модально относительно окна владельца. Я хочу заблокировать все окна процесса, когда открывается диалоговое окно файла. В моем текущем коде я отключаю все окна, принадлежащие приложению, кроме родительского диалогового окна, и когда диалоговое окно закрывается, я снова включаю их. Должен быть лучший / простой способ достижения общедоступной модальности с помощью общих файловых диалогов. Пожалуйста, дайте мне знать, если есть стандартное решение для этого.

1 Ответ

1 голос
/ 03 декабря 2011

Ручное отключение и повторное включение - это единственный известный мне способ в Windows.

Традиционная модель для приложений Windows - наличие одного окна верхнего уровня на экземпляр.(Помните приложения MDI?) Конечно, есть исключения, и у многих приложений всегда были плавающие окна палитры инструментов.Тем не менее, модель disable-the-parent работает для львиной доли приложений, и приложения с множеством окон могут делать то, что вы делаете, вручную отключая дополнительные окна.Таким образом, нет особого спроса на более общее решение.

Если вы хотите перестроить вещи, у вас может быть главное окно, которому принадлежат все другие окна верхнего уровня, и использовать модальное окномастер как родитель, но тогда вам придется решать другие проблемы, связанные с панелью задач, z-порядком и расположением модального окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...