MessageBox.Show - смена шрифта? - PullRequest
       13

MessageBox.Show - смена шрифта?

22 голосов
/ 24 октября 2008

Я использую класс MessageBox для отображения ошибок пользователям, и хотя это может быть неправильным поведением, это очень удобно. Это приложение с сенсорным экраном, поэтому мне нужно, чтобы кнопка «ОК» была намного больше, чем она есть (проклинаю мои чрезмерно большие пальцы!)

Я думаю, что если я увеличу размер шрифта в диалоговом окне, у меня все будет в порядке. Есть способ сделать это? Или действительно, есть ли способ увеличить размер диалога?

Спасибо

Ответы [ 5 ]

13 голосов
/ 24 октября 2008

Насколько я знаю, вы не можете, так как "нормальные" диалоговые окна используют настройки шрифта системы по умолчанию.

Ролл свой, наверное, лучший путь вперед. Это довольно тривиально, и очень весело! И вы можете встроить вещи, которые стандартный диалог не поддерживает (без PInvoke magic), такие как центрирование в середине экрана и т. Д.

4 голосов
/ 04 ноября 2009

Используйте форму с текстовым полем и двумя кнопками ОК, отмена на нем. Используйте эту форму вместо MessageBox во всем проекте. Вы можете изменить шрифт, backColor, многострочный и т. Д. Текстового поля на лету. Вы также можете изменить размер, цвет и шрифт кнопок.

4 голосов
/ 24 октября 2008

Я бы создал для этого свой собственный класс MessageBox - возможно, BigMessageBox ?. Тогда нужно будет заменить MessageBox.Show на BigMessageBox.Show.

Другой альтернативой является использование оконных хуков для изменения формы - посмотрите на https://web.archive.org/web/20091208060754/http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx для примера из .net 1.0. Это может быть проще в текущем выпуске, но я не могу найти пример для вас.

2 голосов
/ 19 декабря 2014

пожалуйста, проверьте мой бесплатный для использования FlexibleMessageBox , который можно использовать вместо MessageBox и имеет (статическое) свойство FONT.

С уважением, Йорг

2 голосов
/ 12 мая 2010

Существует решение - с помощью подключения CBT можно на лету настроить широкий спектр визуальных настроек MessageBox: шрифты сообщений и кнопок, фон диалога, расположение диалогов, значки, заголовки кнопок, время ожидания и т. 1001 *

Расширенная сборка MessageBox .NET http://www.news2news.com/vfp/?solution=5

...