C# 如何使用C填写文本框,如打印收据内容#

C# 如何使用C填写文本框,如打印收据内容#,c#,winforms,C#,Winforms,我有一个销售点应用程序和一个作为收据内容的文本框。它将具有点阵字体,并将模拟打印的收据 我想做的是创建一个类来处理收据的填充 我知道最大字符宽度为25个字母。所以我应该能够将文本附加到这个类中,它会自动将文本定位在它应该的位置 所以我应该得到这样的东西: 是否有任何类可以自动定位文本?或者我必须手工完成所有事情?正如上面的评论员所说,实际使用控件来创建列表会更干净,但如果必须,您可以使用字符串来完成 使用string.Format,您可以使用正值(右对齐文本)和负值(左对齐文本)填充到特定宽

我有一个销售点应用程序和一个作为收据内容的
文本框。它将具有点阵字体,并将模拟打印的收据

我想做的是创建一个类来处理收据的填充

我知道最大字符宽度为25个字母。所以我应该能够将文本附加到这个类中,它会自动将文本定位在它应该的位置

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


是否有任何类可以自动定位文本?或者我必须手工完成所有事情?

正如上面的评论员所说,实际使用控件来创建列表会更干净,但如果必须,您可以使用字符串来完成

使用
string.Format
,您可以使用正值(右对齐文本)和负值(左对齐文本)填充到特定宽度:

从该页:

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
int[]年={2013、2014、2015};
int[]人口={102563211059671148203};
String s=String.Format(“{0,-10}{1,-10}\n\n”,“年”,“人口”);
对于(int index=0;index
如果在WPF中,为什么要为此使用文本框?ItemsControl将为您提供更好的服务。即使在WinForms中,您也有更好的选择,只需添加标记“WinForms”。