如何使用C#像打印收据内容一样填充TextBox

问题描述 投票:1回答:1

我有一个销售点应用程序,并且我有一个TextBox,它将用作收据的内容。它具有Dot Matrix字体,并将模拟打印的收据。

enter image description here

我要做的是创建一个处理该收据填充的类。

我知道最大字符宽度为25个字母。因此,我应该能够将文本追加到此类中,它将自动将文本放置在应有的位置。

所以我应该得到这样的东西:

enter image description here

是否有其他课程可以自动放置文本?还是我必须手工做所有事情?

c# winforms
1个回答
2
投票

如上面的评论者所述,实际上使用控件来创建列表会更干净,但是如果需要,您可以使用字符串来完成。

使用string.Format,您可以使用正值(对于右对齐的文本填充为负,对于负数,对于左对齐的填充为:

https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx

从该页面:

int[] years = { 2013, 2014, 2015 };
int[] population = { 1025632, 1105967, 1148203 };
String s = String.Format("{0,-10} {1,-10}\n\n", "Year", "Population");
for(int index = 0; index < years.Length; index++)
    s += String.Format("{0,-10} {1,-10:N0}\n",
                  years[index], population[index]);
// Result:
//    Year       Population
//
//    2013       1,025,632
//    2014       1,105,967
//    2015       1,148,203
© www.soinside.com 2019 - 2024. All rights reserved.