防止字符串在MessageBox中换行

本文关键字:换行 MessageBox 字符串 | 更新日期: 2023-09-27 18:04:45

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

谢谢。

防止字符串在MessageBox中换行

要控制这里的布局,唯一(受支持的)方法是放弃MessageBox helper类,并构建一个自定义Form类来完成所需的工作。

我们过去通过在消息文本中嵌入换行符('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,该MessageBox具有单行和显示整行的适当宽度。