我希望字符串中单词之间的固定间距与数据网格中的单词类似。
我试过了:
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。
答案 0 :(得分:3)
如果使用等宽(固定间距)字体,可以使用string.Format()来排序。
但是,除非您只显示数字(即使是按比例字体也具有相同的宽度),否则您将无法使用string.Format()对比例字体进行排序。
由于您使用的是RTF,如果您需要使用比例字体,则可以使用表格。
请点击此处获取更多信息:Using Tables in RTF
但最简单的解决方案就是使用等宽字体,如果可以的话。
答案 1 :(得分: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);