If animation is fundamental to your application then you may be better off looking into WPF. It's more work to learn than Windows Forms but has native support for animation.

If you are going to stick with WinForms then you definitely don't do it that way. You should pretty much never be calling CreateGraphics. If you want to draw on a control then you do so on that control's Paint event, either in the event handler or an overridden OnPaint method. To animate, you would use a Timer, set up the data for the drawing in the Tick event and then do the drawing in the Paint event handler.