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.

Preguntas similare

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.
Respuesta Responder a este mensaje
#2 alfonso_C#
02/11/2007 - 01:04 | Informe spam
On 1 nov, 13:58, "Alberto Poblacion" <earthling-
wrote:
"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.



Muchisimas Gracias por responder espero sea útil para los que busquen
algo similar (no hay mucho de este tema en este foro :D
Respuesta Responder a este mensaje
#3 principiante
02/11/2007 - 04:11 | Informe spam
algo similar (no hay mucho de este tema en este foro :D




Debe ser porque es algo demasiado elemental. ;0


Jose TH
Respuesta Responder a este mensaje
#4 Guillermo guille
02/11/2007 - 14:24 | Informe spam
Debe ser porque es algo demasiado elemental. ;0



Lo que para tí es elemental a lo mejor a otros no lo es...

En fin...

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"principiante" wrote in message
news:
>algo similar (no hay mucho de este tema en este foro :D


Debe ser porque es algo demasiado elemental. ;0


Jose TH




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida