阻止字符串在MessageBox中断开到新行

时间:2011-08-08 16:51:26

标签: c# winforms formatting messagebox

有没有办法阻止MessageBox破坏字符串而不是只增长到字符串的宽度?我正在移植一个旧的VB应用程序,他们使用消息框向用户提供大量数据。我想我可以创建一个表单,但我已经开始走这条路了,不想再回去了。

感谢。

2 个答案:

答案 0 :(得分:1)

唯一(支持)的方式是如何控制事物的布局方式是抛弃MessageBox助手类并构建一个自定义的Form类来完成你需要的工作。

答案 1 :(得分:1)

我们过去曾处理过这个问题,在邮件的文本中嵌入换行符(\ r \ n)。 MessageBox将垂直增长以支持包装文本。我们曾经有过如此宽的MessageBox,你甚至看不到居中的按钮,但现在它们显示得很好。

根据生成消息文本的复杂性和/或您是否可以控制它,这可能是您最简单的解决方案。否则,我认为您需要创建自己的表单。

例如:

MessageBox.Show("Line1\r\nLine2\r\nLine3\r\nLine4", "MessageBox test");
MessageBox.Show("Line1 Line2 Line3 Line4", "MessageBox test");

第一行创建一个包含4行文本的MessageBox,窗口已增长到正确的高度以显示所有内容。第二行创建一个MessageBox,其中包含一行和适当的宽度以显示整行。