Метка, вероятно, будет самым простым вариантом. Я не уверен, почему вам нужно предотвратить изменение размера окна изображения (что также легко сделать).
Если вы беспокоитесь о том, что размер вашего Picturebox и размер вашего Label перестали центрироваться или неправильный размер, вы можете просто вставить код в событие resize, которое динамически обновляет размер и местоположение Label и его шрифта на основе на текущий размер картинки.
Тем не менее, если вы решили не использовать метки, вы всегда можете попросить свой графический ящик подписаться на событие Paint, а затем использовать e.Graphics, чтобы просто рисовать текст всякий раз, когда графический ящик перекрашивается.
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Font myFont = new Font("Microsoft Sans Serif", 10))
{
e.Graphics.DrawString("This time is...Hammertime", myFont, Brushes.Black, new Point(0,0));
}
}
Однако вам также придется перерисовывать это для каждой итерации вашего таймера.
Как я уже сказал, Label был бы лучшим вариантом, чем этот. Вызов e.Graphics не даст вам никакого реального преимущества над Label, но создаст для вас больше поводов для беспокойства.