我正在为比萨店创建一个POS系统。我添加了一个新文本框,以便卖家可以添加客户端的家庭住址和电话。但是当卖家打印收据时,我想在收据上为家庭住址的每15个字符添加一个新行。
例如卖家添加25个字符的地址,我希望收到的第一行显示前15个字符,然后在第二行显示剩余的10个字符。或者我们可以做其他事情,在第3个空间创建一个新线。这是在收据上打印家庭住址的代码。
offset += 20;
graphic.DrawString("Adr: ".PadRight(1) + String.Format("{0}",txtAddress.Text), font2, new SolidBrush(Color.Black), startx, starty + offset);
offset += 30;
答案 0 :(得分:1)
由于某些原因,我将此作为扩展方法编写,但您明白了这一点:
public static string Every15(this string str) {
if(str.Length < 15)
return str;
StringBuilder builder = new StringBuilder();
for(int i = 0; i < str.Length; i++) {
var ch = str[i];
if(i % 15 == 0 && i != 0) {
builder.Append("\r\n");
}
builder.Append(ch);
}
return builder.ToString();
}