我跟踪了本Wordpress教程,这是很棒的。我使用了listview,当我尝试格式化字符串时,它不识别\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); 当使用行打印时,字符串被连接在一起,这样\t就不能工作了。但是,新行的\n确实有效。有没有人知道我可以在不用空格的情况下格式化字符串。
结果是这样的
NameStateCountry
LongernameStateCountry
anotherNameAnotherStateAnotherCountry
我希望它们排成一行(就像在一个表中),用名字命名一列,说明另一列,然后是国家,然后是第三。
任何建议都非常感谢
发布于 2011-05-15 21:28:17
但是另一方面,如果单个字符串元素(名称、状态等)存在问题,则选项卡可能会出现问题。长度不同。
取而代之的是使用string.Format()并使用固定的列宽度。
为了获得良好的可视化输出,这将包括一个解析步骤,以确定正确的列宽。
完成后,使用类似的内容来使用空格而不是制表符。
string line = string.Format("{0,-20}{1,-20}{2,-20}", "name", "state", "country");编辑:看到您不想使用空格。
在这种情况下,您可能需要在打印算法本身中处理这个问题。您仍然可以使用选项卡分隔项目,然后对每一行将其拆分到选项卡上,创建一行项(列)数组。
对于每个项目,使用带有适当X位置偏移量的Graphics.DrawString()打印它.
请参阅Graphics.DrawString的文档。
https://stackoverflow.com/questions/5960283
复制相似问题