I have tried adding Me.SuspendLayout() prior to enabling/disabling controls (buttons with graphics seem to flicker when you Disable/Enable them), then .ResumeLayout after my settings. I have tried turning on DoubleBuffering which seemed to do nothing.
I do not have the fastest machine or best graphics card available. I use other development environments that compile to Win32 code and do not exhibit this behavior. Yes I know .NET is compiled/optimized at runtime, but once compiled I would expect it to perform at the same level as a native Win32 generate application.
Am I expecting too much from .NET?
Ben
If you need to analyze the problem, I would recommend ANTS from Red-Gate software. You can download their trial, which runs for 14 days. Profile your application, and it will tell you how much time each line of code took when it ran. That might give you a clue as to what is chewing up 4+ seconds in your form's loading.