2011-01-02 21 views
22

Hola tengo un problema que tengo esta línea de código:Cómo hacer la alineación dentro de la cadena. Forma C#?

return string.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}", Name, CPSA, PostCode, Rank, Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8); 

Se dibuja los datos de un archivo de texto y se emite en un cuadro de lista. quiero justificar la mitad a la izquierda y la otra mitad a la derecha por lo que en el mundo sueño esto:

return string.Format("align=left({0}, {1}, {2}, {3}, {4},) align=right ({5}, {6}, {7}, {8}, {9}, {10}, {11})", Name, CPSA, PostCode, Rank, Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8); 

me he mirado alrededor, pero no tienen idea de cómo hacerlo, soy también un poco de un codeing novato, por favor explique. código es C# Gracias

+0

Un cuadro de lista tiene su propia idea de cómo alinear el texto, string.Format() no cuenta. Su pregunta no tiene respuesta hasta que documente el tipo de clase ListBox que utiliza. –

+0

Alineado a la izquierda en cuestión de qué? ¿Dónde se imprime el texto? HTML, Silverlight, consola o Winforms –

+0

En general, cada carácter tiene un ancho diferente, por lo que la alineación con espacios no funcionará a menos que obligue al listbox a usar una fuente monoespaciado ... deberá tabular los datos y para eso necesitaríamos un mejor ejemplo de lo que estamos tratando de lograr. –

Respuesta

50

Usted puede hacer algo como esto:

Console.WriteLine(String.Format("{0,-10} | {1,5}", "Bill", 51)); 

Usted obtendrá "51" alineado a la derecha en 5 caracteres.

Más ejemplos aquí: Align String with Spaces.

Para referencia oficial, mira la respuesta de Composite Formatting

1

@Rubens Farías es correcta, pero recuerde que String.Format truco sólo funciona si se utiliza una fuente de espacio fijo.

Por ejemplo, en C# se puede utilizar la fuente 'Consolas' que está espaciado sencillo:

Font NewFont = new Font("Consolas", 8.25, FontStyle.Regular) 
Cuestiones relacionadas