这可能是一个难题,或者是一个非常简单的问题。无论哪种方式,请耐心等待,因为我对C#
很新。
我一直在建造一个Form
内部ListBox
以及其他一些东西,而且一切都很顺利。事情变得奇怪的是填充所述信息框。
到目前为止,填写此ListBox
的逻辑是:
foreach (var value in userList)
{
listBoxForForm.Items.Add("#" + value.internalId + " \t\t-\t" + value.title + "\t\t-\t" + value.typeName);
}
(不要介意和
"
之间奇怪的\t
!)
问题在于,如果某些值太长,这看起来很奇怪(不是"长"如value.length
,但"长"如宽度)。
为了更好地解释它,我拍了一张截图(原谅政府风格的审查):
正如您所看到的,问题是在此上下文中使用\t
时,文本似乎无法正确格式化。
有没有一种方法可以将这个文本整齐地打印成我想要的3列样式?不知道每个value
中变量的长度,我的意思是?
答案 0 :(得分:3)
您应该尝试使用String.PadLeft():
data: [7,12,16,32,{y:64,marker:{enabled:true,radius:5,fillColor:'#c00'}}]
将输出:
using System;
class Program {
static void Main()
{
string s = "cat".PadRight(10); string s2 = "poodle".PadRight(10);
Console.Write(s);
Console.WriteLine("feline");
Console.Write(s2);
Console.WriteLine("canine");
}
}
答案 1 :(得分:1)
您应该使用String.PadRight(X)
而不是使用制表符,其中X是字段的最大长度。您需要确保X值超过数据的最大长度,或者将数据剪切到最大长度以确保列对齐。
答案 2 :(得分:0)
我认为你要找的是this。
String.PadRight和String.PadLeft Methods