Quería hacer algo similar, pero en un formulario con una imagen de fondo, descubrí que cuando el texto en la etiqueta cambiaba, los repintes eran obvios con este método, así que hice lo siguiente: * Establecer la etiqueta AutoSize en true y TextAlign en MiddleCenter
Luego, cada vez que el texto cambiaba (el mío se hacía usando un temporizador) llamé al siguiente método:
private Point GetPosition()
{
int y = (this.Height / 2) - (label1.Height / 2);
int x = (this.Width / 2) - (label1.Width / 2);
return new Point(x, y);
}
Y establezca la propiedad Ubicación de la etiqueta en este valor de retorno. Esto aseguró que la etiqueta siempre estaba en el centro del formulario cuando el texto cambiaba y los repintes para un formulario de pantalla completa no eran obvios.
Control.Dock
propiedad ( msdn.microsoft.com/en-us/library/… ), puede acoplar (pegar) un control a un cierto lado del contenedor. Por ejemploLeft
,Top
,Right
oBottom
.Fill
le dice al control que tome todo el espacio disponible en el contenedor.Dock
entorno.Dock
La configuración era innecesaria. Cambiar laAutoSize
propiedad le da a la etiqueta un cuadro delimitador que puede ajustar manualmente el tamaño.