[C#] Centrar control en el parent

Iniciado por SRVAM, 8 Junio 2010, 14:46 PM

0 Miembros y 1 Visitante están viendo este tema.

SRVAM

Buenas!!

perdonad una pregunta algo tonta...

¿Cómo puedo hacer para mantener un control (ejemplo: un Panel que contiene un grupo de botones) centrado horizontalmente en el formulario que lo contiene?

No se si habrá algun método o clase que lo permita, pero seguro que con alguna funcion matematica puede hacerse basandose en la propiedad left del pael y el form, pero no se como hacerlo.

espero que podais ayudarme.

gracias!!
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

[D4N93R]

Una forma fácil es colocarlo a la distancia que quieras, bien centrado y luego buscas en el grid de propiedades, una propiedad que se llama Anchor (ancla) ahi seleccionas Left y Right.

También puedes hacerlo a código, pero para qué re inventar la rueda..

PD: este fue mi Mensaje #500 :D  ;-)

Saludos!

SRVAM

pero si no me equivoco el anchor no es para que el control se redimensione?? es decir, para que aumente o reduzca su tamaño en funcion del tamaño que le demos al formulario?

lo que busco es que se mantenga centrado pero con el mismo tamaño.

Gracias por la respuesta aun asi ^^

y ehorabuena por los  500  ;-)
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

[D4N93R]

#3
Ah ok! quieres que se centre y permanezca del mismo tamaño?

Código (csharp) [Seleccionar]
control.Left = (form.Width - control.Width) / 2
control.Top = (form.Width - control.Height) / 2 //si lo quieres centrar de alto también.


EDIT: esto tienes que colocarlo en algun evento que se llame cuando el control parent cambie de tamaño.

Saludos  :D

SRVAM

#4
Muchas gracias!! si si es justo eso ^^

eso lo pongo en el evento Resize del Form y va genial!!

Gracias D4NG3R ^^ ;-)
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

[D4N93R]