У вас есть три основных способа заставить элемент управления перерисовывать себя: Refresh (), Update () и Invalidate (). Как указывает Адам Робинсон, самый простой способ включить пользовательскую рисование - переопределить событие Paint. Положите всю логику рисования здесь. Используйте объект Graphics, предоставленный параметром PaintEventArgs.
Так в чем же разница между вышеуказанными звонками?
Invalidate помечает элемент управления (регион или прямоугольник) как нуждающийся в перерисовке, но не перерисовывает сразу (перерисовка запускается, когда обо всем остальном позаботились, и приложение становится бездействующим) .
Обновление заставляет элемент управления немедленно перерисовываться, если какие-либо части были признаны недействительными.
Обновить приводит к тому, что элемент управления становится недействительным, а затем обновляется (т.е. немедленно перерисовывается).
Я бы сказал, что это хорошая привычка - использовать Invalidate (), если у вас нет особых потребностей. В большинстве случаев это сделает вашу программу более эффективной. Если вы сделаете это, вам даже не понадобится логика рисования в вашем событии load Вполне возможно, что это перезаписывается и становится недействительным до того, как вы даже видите свою форму, в зависимости от того, что еще вы делаете в событии Load.