字符串格式()中的间距

本文关键字:格式 字符串 | 更新日期: 2023-09-27 18:32:04

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

我试过了:

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,因此不会保持其位置并被向前推。

该字符串随后被分配给富文本框。

字符串格式()中的间距

您可以使用字符串。Format() 将内容排列起来,如果您使用的是等宽(固定间距)字体。

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

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

有关详细信息,请参阅此处:在 RTF 中使用表

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

你可以这样做:

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

 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);