MessageBox.Show--字体如何更改?

30

我正在使用MessageBox类向用户显示错误信息,虽然这可能不是正确的行为方式,但非常方便。然而,这是一个触摸屏应用程序,所以我需要'ok'按钮比它现在要大得多(我的手指实在是太大了!)。

我认为如果我增加对话框中的字体大小,那应该就可以了。有没有办法可以做到这一点?或者,有没有任何方法可以增加对话框的大小?

谢谢

5个回答

18
据我所知,你不能这样做,因为“正常”的对话框使用的是你的默认系统字体设置。
自己编写可能是最好的解决方法。 这非常容易做到,而且很有趣! 你还可以构建标准对话框不支持(无需PInvoke魔法)的功能,如居中在屏幕中央等。

我没有尝试过,但我敢打赌你可以通过WinApi的方式入侵消息框对话框。或者甚至可以获取窗口类并在其中更改一些东西? - Bitterblue

6
请查看我免费使用的FlexibleMessageBox,它可以替代MessageBox并具有(静态)FONT属性。
谢谢, Jörg

4

使用带有文本框和两个按钮OK、Cancel的表单。在整个项目中使用此表单代替MessageBox。您可以在运行时更改文本框的字体、背景颜色、多行等属性。您也可以更改按钮的大小、颜色和字体。


4

2
通过安装 CBT hook,可以在运行时调整各种 MessageBox 的视觉设置:消息和按钮字体、对话框背景、对话框位置、图标、按钮标题、超时等等。 扩展的 MessageBox .NET 程序集 可以提供这样的解决方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接