Paint in a ContainerControl?

A ContainerControl has a Paint event.

So I wonder: should I use a Canvas to do my drawing or can I simply use the ContainerControl’s Paint event?

There equivalent (regarding the Paint event of course).

Seems that the container Paint is the way to go.
Saves one control.

Thanks guys, that’s what I thought.

Hmm, there is one difference.

A Canvas has Invalidate, a ContainerControl has not.

So using Refresh on the ContainerControl could cause more flickering on Windows.

Or am I missing something?

The documentation says it has an invalidate.

(click through and you end up on Window.invalidate)

If its not there, seems like a major oversight
You might call invalidate on the controls’ parent but that may be overkill.

ContainerControl has an Invalidate method: Window.Invalidate

Aaah, the version I use for backwards compatibility and all-around ease of use ( 2012 R2) does not have an invalidate method for ContainerControls.