Элемент управления Picture Box является относительно свободной оболочкой для циклов рисования Windows и события WM_PAINT
.
Событие WM_PAINT
- это сообщение в очереди, которое система помещает в очередь сообщений вашего приложения всякий раз, когда считает, что поверхность рисования окна недопустима. Это может произойти по многим причинам:
- Другое окно перетаскивается поверх вашего окна (хотя современные окна используют буферизацию для облегчения этого).
- Вы аннулируете окно, вызывая
Invalidate
, что в конечном итоге вызывает функцию Win32 InvalidateRect
.
- Изменены настройки темы для всей системы.
- Etc. и т.д.
Итак, естественный вывод из этого состоит в том, что ваш обработчик рисования графического блока должен быть написан при условии, что он будет вызываться несколько раз.