C# String.Format()中的间距

C# String.Format()中的间距,c#,wpf,C#,Wpf,我想要字符串中单词之间的固定间距,类似于datagrid中的间距 我试过: string item = String.Format("{0,-9}{1,-42}{2,-24}{3,0}", ++i, itemName, itemQuantity, totalItemPrice.ToString("#,##0.00") + System.Environment.NewLine); 但是由于itemName长度是可变的,itemQuantity和totalItemPrice不会保持它们的位置并向前

我想要字符串中单词之间的固定间距,类似于datagrid中的间距

我试过:

string item = String.Format("{0,-9}{1,-42}{2,-24}{3,0}", ++i, itemName, itemQuantity, totalItemPrice.ToString("#,##0.00") + System.Environment.NewLine);
但是由于itemName长度是可变的,itemQuantity和totalItemPrice不会保持它们的位置并向前推进

该字符串随后被分配给RichTextBox。

您可以这样做:

我刚刚修改了您使用值的方式,我可以将数据显示为数据网格

 string itemName = "phone";

 int itemQuantity = 5, totalItemPrice=50;

 string item = String.Format("{0,-2}{1,-10}{2,-5}{3,-5}", ++i, itemName, itemQuantity, totalItemPrice.ToString("#,##0.00")+System.Environment.NewLine);
您可以这样做:

我刚刚修改了您使用值的方式,我可以将数据显示为数据网格

 string itemName = "phone";

 int itemQuantity = 5, totalItemPrice=50;

 string item = String.Format("{0,-2}{1,-10}{2,-5}{3,-5}", ++i, itemName, itemQuantity, totalItemPrice.ToString("#,##0.00")+System.Environment.NewLine);
如果您使用的是单间距(固定间距)字体,则可以使用string.Format()将内容排列起来

但是,除非仅显示数字(即使在比例字体中,数字的宽度也相同),否则无法使用string.Format()将内容与比例字体对齐

因为您使用的是RTF,所以如果需要使用比例字体,您可以使用表格

有关更多信息,请参见此处:

但是如果可以的话,最简单的解决方法就是使用单间距字体。

如果使用单间距(固定间距)字体,可以使用string.Format()来排列

但是,除非仅显示数字(即使在比例字体中,数字的宽度也相同),否则无法使用string.Format()将内容与比例字体对齐

因为您使用的是RTF,所以如果需要使用比例字体,您可以使用表格

有关更多信息,请参见此处:


但是,如果可以的话,最简单的解决方法就是使用单间距字体。

{0,-9}
您确定可以使用
String.Format
?我不能使用“\t”,因为缩进太多或太少。{0,-9)将填充添加到right@491243有趣的是,我不知道。你使用的是单间距(固定间距)字体吗?@kr13你将无法使用string.Format()将内容与比例字体对齐,除非你只显示数字(即使在比例字体中,所有数字的宽度都相同)。因为您使用的是RTF,所以您可能可以使用表。
{0,-9}
您确定可以使用
字符串进行此操作。
格式
?我不能使用“\t”,因为缩进太多或太少。{0,-9)将填充添加到right@491243有趣的是,我不知道。你是使用单间距(固定音高)吗font?@kr13您将无法使用string.Format()以比例字体排列内容,除非您仅显示数字(即使在比例字体中,所有数字的宽度都相同)。因为您使用的是RTF,所以您可能可以使用表格。这是您想要的正确方式,还是您想要显示数据的特定方式?我似乎不适合我。您能告诉我您使用的是什么字体吗?您是否在richtextbox中显示了结果?实际上您想要哪种类型的字体?感谢您的帮助Jigna,但是问题解决了。我必须使用monospace字体。这是你想要的正确方式还是你想要显示数据的特定方式?我似乎不适合我。你能告诉我你使用了什么字体吗?你也得到了显示在richtextbox中的结果吗?实际上你想要哪种类型的字体?谢谢你的帮助Jigna,但问题已经解决了问题解决了。我必须使用单空格字体