我需要c#中的一些东西,就像c ++中的setw()一样

时间:2012-03-12 19:20:05

标签: c# alignment formatting setw

我在c#中使用了richTextBox。我需要在一个richTextBox中显示不同长度的字符串,但这些字符串应该完全对齐..这是一个例子..

abcd   abcde  abcde
ab     abc    abcdef

我知道如何使用setw函数在c ++中执行此操作..但我找不到c#中的等效项。

3 个答案:

答案 0 :(得分:11)

string varName=String.Format("{0,10:D}", 2);

这会将数字2格式化为宽度为10的字符串右对齐,使用-5将其左对齐,宽度为5 ...

来源:http://answers.yahoo.com/question/index?qid=20100727164827AAqJ1Hn

答案 1 :(得分:5)

您可以使用String.PadRight

innerString.PadRight(10);

答案 2 :(得分:0)

我为此创建了一个函数:

public string tab(string s, int w)
{
    //w is the desired width
    int stringwidth = s.Length;
    int i;
    string resultstring = s;

    for(i=0;i<=(w-stringwidth)/8;i++)
    {
        resultstring = resultstring + "\t";
    }
    return resultstring;
 }

然后,将其添加到列表框,例如:

listBox.Items.Add(tab("MyFullNameHere",30)+ tab("MyContact - xxxxx",12));
listBox.Items.Add(tab("MyWifeFullNameHereVeryLong", 30) + tab("HerContact - xxxxx", 12));