miércoles, 22 de octubre de 2008

VS2008 C# Centrar un formulario en pantalla.

Seguro que os toca las narices como a mi que cuando arrancais vuestra flamante app se carguen los formularios por la parte de la pantalla que le sale de ahí, pues bien, para que salga centrado en la pantalla hacéis lo siguiente:

En el evento Load del form que queráis centrar en pantalla:


this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2;
this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2;

7 comentarios:

AppleGeek dijo...

Mejor hacerlo desde las propiedades del formulario cuando estamos en Visual Studio en modo diseño. La propiedad StarPosition de un formulario puede ser fijada a CenterScreen. Y sirve exáctamente para eso que tu quieres.

De todas formas gracias por tu código, porque estaba buscando centrar la pantalla en tiempo de ejecución y con eso me sirve.

Victor J. Garijo S. dijo...

Mejor el 2º consejo.

Diego dijo...

Como dijo AppleFeek sirve para centrar formularios en tiempo de ejecución, muy útil :) se Agradece.

Anónimo dijo...

Muchas gracias amigo.
Me sirvio mucho para centrar un panel.
Es muy util cuando tienes un fondo en el cual estan colocados tus controles de acuerdo a tu fondo.
Con esto solucione el problema ya que si la resolucion de tu fondo es de 1024x768 por ejemplo y tu monitor tiene resolucion de 1280x1024 ps tienes varias opciones de ajuste del fondo pero los controles quedan desajustados. Asi que los meti en un panel de 1024x768 con el fondo y sus controles dentro de el y asi solo centro el panel en la pantalla no importa que mi Form este maximizada.
Muchas gracias y Salu2 desde Mexico.

Anónimo dijo...

Si se quiere ahorrar codigo para centrar una ventana de un formulario, bueno la opción de ir a propiedades funciona, pero tampoco no está mal aplicar el codigo para centrar dicha ventana

this.StartPosition = FormStartPosition.CenterScreen;

y con eso queda centrada el formularion sin calculos matematicos.

Cristian Dario Gomez Taboada dijo...

Me funciono Gracias!!

Anónimo dijo...

Excelente mil gracias