MessageBox.Show-字体改变?

问题描述 投票:22回答:5

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

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

谢谢

c# fonts messagebox
5个回答
13
投票

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

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


4
投票

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


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
投票

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

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


2
投票

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

此致,Joerg

© www.soinside.com 2019 - 2024. All rights reserved.