it is strange check you have done some paint event that is conflicting or some dynamic control which you are adjusting runtime...
if you want to not show flicker
means below code will show your form after it complete painting
put this property in your form and check effect
protected override CreateParams CreateParams
CreateParams cp = base.CreateParams;
cp.ExStyle = cp.ExStyle | 0x2000000;