While writing a custom paint routine you may come across a strange phenomenon where some of the controls on the Winforms are not painting correctly or even appearing at times. This is usually due to Control.Invalidate() being called recursively, and the API tries to keep on painting what is important and defers the painting of other controls such that they do not appear where they should have. This problem is most elusive if Control.DoubleBuffered is set to true, otherwise, it will be obvious for the flickering due to very fast painting on the front buffer.
Jake See is the thinker, philosopher and a source of new perspectives, and sometimes controversies, for his family and people around him. Jake currently earn his living as an IT Professional, juggling both technical and business aspects of his trade as an employee and freelancer. He has more than 16 years of experience in Business Analysis, Software Engineering, Project Management and Business Development.