centrar texto en variable string

01/11/2007 - 18:31 por alfonso_C# | Informe spam
Hola a todos. Soy muy malo para los strings o cadenas y me gustaria
saber como puedo centrar un texto en un string que tiene una longitud
fija de 30 por ejemplo, para que dependiendo del tamaño del texto
colocar los espacios necesarios para centrarlo en esos 30 espacios o
40 o lo que defina el usuario. Muchas Gracias por anticipado.
 

Leer las respuestas

#1 Alberto Poblacion
01/11/2007 - 18:58 | Informe spam
"alfonso_C#" wrote in message
news:
Hola a todos. Soy muy malo para los strings o cadenas y me gustaria
saber como puedo centrar un texto en un string que tiene una longitud
fija de 30 por ejemplo, para que dependiendo del tamaño del texto
colocar los espacios necesarios para centrarlo en esos 30 espacios o
40 o lo que defina el usuario. Muchas Gracias por anticipado.



int longitudDeseada@;
string cadena = "Texto a centrar";
int longitudDeLaCadena = cadena.Length;
int longitudQueFalta = longitudDeseada-longitudDeLaCadena ;
string resultado =
cadena.PadLeft(longitudDeLaCadena+longitudQueFalta/2).PadRight(longitudDeseada);

Notas:
a) Dará un error si la cadena es más larga que longitudDeseada.
b) Esto rellena con espacios por los dos lados para centrar la cadena, lo
cual no garantiza que al pintarla en pantalla o en un listado quede
centrada, a no ser que se utilice un Font que tenga todos los caracteres del
mismo tamaño. Con los fonts de anchura variable (casi todos), para centrar
una cadena hay que recurrir al MeasureString y posicionarla centrada
calculando las correspondientes coordenadas para el DrawString.

Preguntas similares