If you want to draw on control, why would you draw on a bitmap (which of course you can do)?
You main mistake is using
CreateGraphics
. Of course, you can do it, too, but this is not what you want, to successfully get animated, interactive, or even static graphics. You need to use instance of
System.Drawing.Graphics
passed to the method
System.Windows.Forms.Control.OnPaint
you can override, or, alternatively to your event handle of the event
System.Windows.Forms.Control.Paint
. For further detail, please see my past answers:
What kind of playful method is Paint? (DataGridViewImageCell.Paint(...))[
^],
capture the drawing on a panel[
^],
Drawing Lines between mdi child forms[
^].
For some a bit more advanced topics, such as threading with graphics, please see also these two:
How to speed up my vb.net application?[
^],
Zoom image in C# .net mouse wheel[
^].
—SA