Я хотел сделать что-то похожее, но в форме с фоновым изображением я обнаружил, что при изменении текста в метке перерисовки были очевидны при использовании этого метода, поэтому я сделал следующее: * Установите для метки AutoSize значение trueи TextAlign to MiddleCenter
Затем, каждый раз, когда текст изменялся (мой был сделан с использованием таймера), я вызывал следующий метод:
private Point GetPosition()
{
int y = (this.Height / 2) - (label1.Height / 2);
int x = (this.Width / 2) - (label1.Width / 2);
return new Point(x, y);
}
И устанавливал свойство Location метки на это возвращаемое значение,Это гарантировало, что метка всегда была в центре формы, когда текст изменялся, и перерисовки для полноэкранной формы были неочевидны.