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

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

由于

有帮助吗?

解决方案

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

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

其他提示

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

我会为此创建自己的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的示例。在当前版本中这可能会更容易,但我找不到适合您的示例。

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

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

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

此致 Jö RG

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top