Похожие вопросы

Сохранить стиль текстового поля MS Word 2007 или 2010
Можно ли настроить принтер в Word для печати в черном цвете, даже если файл имеет цвета?
Преобразование пакета файлов Word в PDF-файлы в Mac OS X
как удалить или изменить фон заполняет все таблицы в документе Word
Есть ли способ автоматически добавить точку после двух пробелов в Word?
Дата изменения файла отличается от даты последнего сохранения Word
Как обновить оглавление в Word Online?
Выравнивание документа Word
Запретить Office 2013 создание каталога "пользовательские шаблоны Office" в Мои Документы
Как добавить картинку как фон страницы в Word 2010
Замена текста в речь для Word
Microsoft Office очень медленно открывает файлы на общих сетевых ресурсах
Вставка гиперссылки через VBA
Автоматическое включение даты сохранения в имени файла?
"Вставка гиперссылки" очень медленно для документов в библиотеке SharePoint

Почему Microsoft Word не может закрыться, если открыто диалоговое окно?

Я иногда получаю ошибку, которую выдает Word при попытке закрыть документ с другим открытым диалоговым окном, но я никогда не мог понять почему случается.

5
задан John
источник

5 ответов

потому, что большинство диалоговых окон считаются "модальные" это означает, что управление не возвращается в основную программу или вызывающий контейнер, пока не будет закрыто само диалоговое окно. Это проектом и программист имеет вариант для того чтобы сделать окно режимным или немодальным. Обычно окно определяется как модальное, если основная программа не может или не должна продолжать работу до тех пор, пока не будет рассмотрен открытый диалог-либо через выбор (Ok), либо прерывание (отмена).

60
отвечен Bill Hileman 2018-03-09 23:33:36
источник

диалоговое окно может быть что-то вроде:

вы внесли изменения в документ, хотите их сохранить? (Да) (Нет)

здесь нет очевидного правильного ответа. Возможно, вы случайно повредили свой документ (например, кошка прошла по клавиатуре), и в этом случае ответ "нет", или вы, возможно, потратили часы на ввод изменений, и в этом случае ответ "да".

самое безопасное, что за слово это такое отказывайтесь закрывать, пока не ответите на вопрос.

20
отвечен Nick Gammon 2018-03-09 05:27:12
источник

потому что программа разработана таким образом, чтобы избежать принятия мер, пользователь может не хочу.

обычно диалоговое окно отображается, когда программа нуждается в руководстве пользователя. Отличным примером является закрытие несохраненного документа: диалоговое окно предлагает сохранить изменения, отменить изменения или прервать закрытие и вернуться к редактированию. Программа намеренно отказывается закрываться, не отвечая на этот вопрос, потому что закрытие заставит предпринять некоторые действия. Программа не может решить самостоятельно, например. отменить последние изменения, или, наоборот, перезапишет правильную версию с Кот-на-клавиатуры.

даже если мы рассматриваем диалог, который не связан с закрытием, это обычно означает, что какой-то процесс продолжается, он еще не завершен, и пользователь должен решить, в какую сторону идти. Он не может быть "просто прерван", потому что прерывание также является действием, которое пользователь может не иметь в виду.

Она также упрощает дизайн программы, как создатели это не приходится создавать "безопасный выход" из каждой функции.

сегодня большинство диалогов не являются модальными в техническом смысле (программа остается ответственной), но все же проще сделать их модальными в более широком смысле логического потока программы.

1
отвечен Agent_L 2018-03-10 14:15:24
источник

Я могу ошибаться, но я подозреваю, что это восходит к старому общему поведению управления диалогом.

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

Почему до сих пор так, люди привыкли, разработчики программировали с этим предположение в течение многих десятилетий и, что более важно, не-программистов используют эти диалоги в сценарии автоматизации Office и Microsoft ничего, если бы не строгий приверженец для целей обратной совместимости.

0
отвечен Bill 2018-03-09 18:21:31
источник

за кулисами программа (в нашем случае это MS Word) создает "обработчик событий нажатия кнопки X" при создании окна. Когда есть диалоговое окно, Word записывает это. Затем, в обработчике кнопки X, когда кнопка X нажата, он проверяет записанные открытые диалоговые окна. Если они есть, обработчик прерывает операцию закрытия. Если их нет, программа завершает работу и ОС очищает память, занимаемую программой. Вот как это работает.

0
отвечен Vladislav Toncharov 2018-03-11 13:00:09
источник

Другие вопросы microsoft-word microsoft-word-2016