I hate the thing what they did to Autoredraw on Controls & Forms...so i did a class that stops the object while it's painting in that way, the flicker is reduced, try it.

This is the class

Code:
Public Class IAutoRedraw
    Event AutoRedraw(ByVal g As System.Drawing.Graphics)

    Public Sub DoRedraw(ByVal g As System.Drawing.Graphics)
        Dim bDrawing As Boolean

        bDrawing = True
        While bDrawing
            RaiseEvent AutoRedraw(g)
            bDrawing = False
        End While
    End Sub
End Class
-----------------------------

This is how to use it:

Code:
	Private Withevents IA as New IAutoRedraw

	Private Sub IA_AutoRedraw(ByVal g As System.Drawing.Graphics) Handles IA.AutoRedraw
		'Do all your graphics stuff here
	End Sub

	'To use "Almost" FlickerFree Drawing, use: IA.DoRedraw
	'You can put in the Paint Event of you form, or anything.