我正在尝试打印来自客户的“最后收据”,我已将其存储到名为 prevRecpt 的字符串变量中。
我希望能够按下一个按钮(btnLastReceipt),这将在消息框中显示此字符串。
这可能吗?正如我已经尝试过并最终得到的消息框只显示第一行?
prevRcpt = "--------------------Butlers Cinemas--------------------" & Environment.NewLine
prevRcpt = prevRcpt & tbTime.Text & Environment.NewLine
prevRcpt = prevRcpt + "Operator: " + tbUser.Text & Environment.NewLine
prevRcpt = prevRcpt + Environment.NewLine & Environment.NewLine + "-------------------------------------------------------"
prevRcpt = prevRcpt + "Total Spent: £" + tbTotal.Text + Environment.NewLine + Environment.NewLine
prevRcpt = prevRcpt + shoppingCart.Text + Environment.NewLine
prevRcpt = "--------------------Butlers Cinemas--------------------" & Environment.NewLine
这是构建字符串的代码。
最佳答案
您是否尝试过在字符串中的任意位置连接 Environment.NewLine
?
现在我可以看到你的代码,看来你的最后一行应该是这样的:
prevRcpt = prevRcpt & "--------------------Butlers Cinemas--------------------" & Environment.NewLine
话虽这么说,您需要注意,如果字符串很长,消息框的大小可能会超出屏幕范围,因此您可能需要使用 MessageBox
以外的其他内容。如果可能,创建您自己的对话框表单,使其默认大小适合大多数情况,并在其中使用可滚动的文本区域。将 Multiline
属性设置为 True
的只读 TextBox
不仅可以滚动,而且还允许最终用户复制剪贴板中的内容。它可能会让用户的体验变得更好。
我还应该提到StringBuilder
类和一些常量可以帮助您使代码更加简洁:
Const headerOrFooter As String = "--------------------Butlers Cinemas--------------------"
Const separator As String = "-------------------------------------------------------"
Dim b As New Text.StringBuilder()
b.AppendLine(headerOrFooter)
b.AppendLine(tbTime.Text)
b.AppendFormat("Operator: {0}", tbUser.Text)
b.AppendLine()
b.AppendLine()
b.AppendLine()
b.AppendLine(separator)
b.AppendFormat("Total Spent: £{0}", tbTotal.Text)
b.AppendLine()
b.AppendLine(shoppingCart.Text)
b.AppendLine(headerOrFooter)
prevRcpt = b.ToString()
关于.net - 如何将多行字符串打印到消息框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609874/