MessageBox.Show-字体改变?

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

我想如果我在对话框中增加字体大小,我应该没问题。 有没有办法做到这一点? 或者真的,有没有办法增加对话框的大小?

谢谢

据我所知,你不能,因为’普通’对话框使用你的默认系统字体设置。

滚动你自己可能是最好的前进方式。 做起来相当简单,而且非常有趣! 你可以构建标准对话框不支持的东西(没有PInvoke魔法),例如在屏幕中间居中等。

我会为此创建自己的MessageBox类 – 也许是BigMessageBox? 这将是用BigMessageBox.Show替换MessageBox.Show的问题。

另一种方法是使用Windows钩子来修改表单 – 有关.net 1.0的示例,请查看http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx 。 在当前版本中这可能更容易,但我找不到适合您的示例。

使用带有文本框和两个按钮的表单确定,取消就可以了。 在整个项目中使用此表单而不是MessageBox。 您可以动态更改文本框的字体,backColor,多行等。 您也可以更改按钮的大小,颜色和字体。

有一个解决方案 – 通过安装CBT钩子,可以快速调整各种MessageBox视觉设置:消息和按钮字体,对话框背景,对话框定位,图标,按钮标题,超时等。

扩展的MessageBox .NET程序集http://www.news2news.com/vfp/?solution=5

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

此致,Jörg