MessageBox.Show--字体改变?

时间:2008-10-24 00:14:12

标签: c# fonts messagebox

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

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

由于

5 个答案:

答案 0 :(得分:13)

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

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

答案 1 :(得分:4)

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

另一个替代方法是使用Windows钩子来修改表单 - 请查看https://web.archive.org/web/20091208060754/http://msdn.microsoft.com/en-gb/magazine/cc188920.aspx以获取.net 1.0中的示例。在当前版本中这可能会更容易,但我找不到适合您的示例。

答案 2 :(得分:4)

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

答案 3 :(得分:2)

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

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

答案 4 :(得分:2)

请查看我的免费使用FlexibleMessageBox,它可以代替MessageBox使用,并且有一个(静态的)FONT-Property。

此致 约尔格