I need to disable every control on my Form so that the user can not click or press any key that will change values of listboxes and other controls on the form. I need to be able to lock the whole Form like this because as part of the project I have to print the form 3 times with 3 different colors and the only way I've been able to get it to work is with a timer. So for about 3 seconds the form is changing colors and printing itself, so in between that time the user could accidantely click something and change a value on the form when all three prints should be of the same form, only difference is in the color.

I can't use disable as that will make all the controls look faded and messed up, I need a clean way to prevent anything from being changed.

If worst comes to worst I will probably just loop through every control at runtime and attach a handle to a click and keypress sub that mark the clicks and keypresses as already handled. I'm hoping for an easier way though.