Отображать диалог ошибки (MessageBox) только с кнопками «Закрыть» или «Отмена»? - PullRequest
6 голосов
/ 28 января 2012

Я прочитал в Руководства по работе с Windows: сообщения об ошибках , что «OK» - это неправильная кнопка для отображения в диалоговом окне ошибок.

... предоставляет кнопку «Закрыть». Не используйте OK для сообщений об ошибках , потому что эта формулировка подразумевает, что проблемы в порядке.

Итак, как я могу отобразить простое диалоговое окно с ошибкой с помощью одной кнопки Закрыть / Отмена ?

Возможно ли это со стандартной MessageBox класс или я должен прибегнуть к пользовательскому диалоговому окну (или библиотеке) или другим Win32-сообщениям / p-invoke "hacks"?

(Кажется, в * нет ничего уместного1021 * перечисление.)

Спасибо.

1 Ответ

7 голосов
/ 28 января 2012

Требуется полностью улучшенный TaskDialog.

Доступен здесь с описанием использования здесь

TaskDialog позволяет вам указатьболее подробно кнопки и значки, которые показывают, и - это собственное решение Microsoft вашей проблемы в .Net.

- обновите, чтобы ответить на комментарий @ pst

Если у вас естьдля поддержки Winows XP или более ранней версии существует очень стабильная и надежная библиотека для codeproject , которая обертывает и эмулирует класс microd TaskDialog при использовании более ранней версии Windows, и использует собственную версию MS, если вы используетеVista или более поздняя версия.

Я использовал эту библиотеку кодпроектов около 2 лет назад, и тогда она была стабильной, поэтому проблем с надежностью вообще не должно быть.

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