you have to actually draw over the controls as well, so for every drawing operation, you need to perform it on every control the drawing will effect, and change the co-ordinates to be relative.

if you draw a black square at 0,0 for 10,10 and there is a textbox at 5,5
you need to use .creategraphics o nthe textbox (and this has to be done EVERYTIME the control paints, so ALL drawing operations need to be remembered) you would draw a 10,10 black square at -5,-5 ontop of the textbox's image.

that's the only way to do it without rendering your controls useless (if you used something like my vb.net shape controls transparency method you could dump an image right overtop of all the control.. but then they arent clickable)