Pregunta

Estoy usando un RichTextBox en C #.Necesito mostrar cadenas de longitud diferente dentro de una richTextBox, pero estas cadenas deben estar perfectamente alineadas ... Este es un ejemplo.

abcd   abcde  abcde
ab     abc    abcdef

Sé cómo hacerlo en C ++ usando la función SETW ... pero no pude encontrar un equivalente en C #.

¿Fue útil?

Solución

Usted podría usar >String.PadRight

innerString.PadRight(10);

Otros consejos

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

Esto formateará el número 2 como una cadena de ancho 10 alineado a la derecha, use -5 para que se alinee a la izquierda en el ancho de 5 ...

Fuente: http://answers.yahoo.com/question/index?qid=20100727164827aaqj1hn

He creado una función para ese propósito:

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;
 }

Luego, agregándolo a un cuadro de lista, por ejemplo:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top