Включение DoubleBuffered
как stax , предложенное выше, полезно, но может быть недостаточным.
В вашей форме добавьте следующий метод переопределения:
protected override void OnPaintBackground(PaintEventArgs e) {}
И, в методе OnPaint
, нарисуйте фон самостоятельно. Если вы этого не сделаете, то рисование фона и рисование - это отдельные события, а рисование фона имеет более высокий приоритет, то есть это произойдет раньше.
Кроме того, если вы добавите дочерние элементы управления (например, метки), они получат свои собственные события рисования фона / рисования. Возможно, вы сможете отключить фон метки. Если я делаю подобные вещи, я склонен не использовать элементы управления, а рисовать текст и изображения в одном OnPaint
.