对齐列表框中的字符串c#

时间:2014-01-02 12:33:11

标签: c# string text listbox alignment

我正在尝试将带有空格的strings写入列表框,并保持对齐。

以下是代码:

    List<String> treeNames = new List<String>();
    int counter = 1;

    treeNames.Add("Input                ");
    treeNames.Add("Output               ");
    treeNames.Add("Sequence Type        ");

   foreach (String currentData in treeNames)
   {
         listBox1.Items.Add(currentData + " - " + counter.ToString());
         counter+=1;
   }

这是我希望实现的目标:

Input                 - 1
Output                - 2
Sequence Type         - 3

相反,我得到了:

Input           - 1
Output               - 2
Sequence Type                   - 3

任何想法我如何调整它们?

2 个答案:

答案 0 :(得分:0)

您可以使用String.PadRight方法,该方法返回一个新字符串,该字符串左对齐字符串中的字符,用右边的空格填充指定的总长度。

假设您的名字最长为20个字符:

public String stringHighscore()
{
     return name + name.PadRight(20 - name.Length) + "\t\t\t" + score.ToString();
}

如果您的姓名长度为13,则会添加7个空格字符。如果您的名字长度为9,则会添加11个空格字符。这样你所有名字的长度最终都会等于20。

答案 1 :(得分:0)

foreach (String currentData in treeNames)
{
     listBox1.Items.Add(String.Format("{0, -20} {1, 10}", currentData, ("-  " + counter.ToString())));
     counter += 1;
}