我正在尝试打印一个客户的“最后收据”,我已将其存储到名为prevRecpt的sting变量中。
我希望能够按下按钮(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
这是构建字符串的代码。
答案 0 :(得分:6)
您是否尝试在字符串中的任何位置连接 Environment.NewLine
?
既然我可以看到你的代码,那么你的最后一行似乎就是这样:
prevRcpt = prevRcpt & "--------------------Butlers Cinemas--------------------" & Environment.NewLine
话虽如此,你需要知道,如果一个非常长的字符串,消息框可能超出屏幕范围,所以你可能想要使用除MessageBox
之外的其他内容。如果可能,请创建自己的对话框,使其默认大小适合大多数场景,并在其中使用可滚动的文本区域。将TextBox
属性设置为Multiline
的只读True
不仅可以滚动,而且还允许最终用户复制剪贴板中的内容。它可以使用户的体验更好。
我还应该提到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()