[英]StringReader formatted string
我遵循了这个效果很好的Wordpress教程 。 我使用了一个列表视图,当我尝试格式化字符串时,它不能识别\\t
(但是可以识别\\n
)。 它也不会识别String.Format
等。
无论如何,我可以使用制表符或类似内容格式化字符串吗?
干杯
编辑
for( i = 0; i < lstView.Items.Count;i++)
{
name = lstView.Items[i].Text;
state = lstView.Items[i].SubItems[1].Text;
country = lstView.Items[i].SubItems[2].Text;
line += name + "\t" + state + "\t" + country + "\n";
}
StringReader reader = new StringReader(line);
当使用line进行打印时,字符串将连接在一起,因此\\ t不起作用。 新行的\\ n确实可以工作。 有谁知道我不使用空格就可以格式化字符串的任何方式。
结果是这样的
NameStateCountry
LongernameStateCountry
anotherNameAnotherStateAnotherCountry
我希望它们排列成一列(如表中所示)的位置,然后说出另一列和国家/地区,然后列出第三位
任何建议,不胜感激
好吧,制表符丢失有点奇怪,但是,另一方面,如果各个字符串元素(名称,状态等)的长度不同,制表符可能会出现问题。
相反,您可以使用string.Format()
并使用固定的列宽。
为了获得良好的视觉输出,这将包括一个解析步骤,以确定正确的列宽。
完成此操作后,使用类似这样的方法来使用空格而不是制表符。
string line = string.Format("{0,-20}{1,-20}{2,-20}", "name", "state", "country");
编辑 :看到您不想使用空格。
在这种情况下,您可能需要在打印算法本身中进行处理。 您仍然可以使用选项卡来分隔项目,然后为每行在选项卡上将其拆分,从而每行创建一个项目(列)数组。
对于每个项目,请使用Graphics.DrawString()
以及适当的X位置偏移量进行打印。
请参阅Graphics.DrawString的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.