1

我想要一个字符串中的单词之间的固定间距,类似于你在数据网格中的间距。

我试过了:

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。

4

2 回答 2

3

如果您使用的是等宽(固定间距)字体,则可以使用 string.Format() 进行排列。

但是,您将无法使用 string.Format() 将内容与比例字体对齐,除非您只显示数字(即使在比例字体中它们都具有相同的宽度)。

由于您使用的是 RTF,因此如果您需要使用比例字体,则可以使用表格。

有关更多信息,请参见此处:在 RTF 中使用表

但如果可以的话,最简单的解决方案就是使用等宽字体。

于 2013-09-20T12:41:37.817 回答
1

你可以这样做:

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

 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);
于 2013-09-20T12:22:28.390 回答