This "forms" problem was driving me crazy and took hours to figure out. Hopefully this post will save someone some time.
My app had a tab control that I was dynamically adding custom controls to at start up. I was setting the Dock on the custom control to Fill but when the control showed up in the tab page, the size of the control was off, either getting cut off or too small. If I resized the window or split that the tab was in, the custom control in a tab page would resize but still be cut off.
After countless failed attempts to trick the control into resizing itself, I found a Windows Forms Online Library (http://flylib.com/books/en/184.108.40.206/1/
) that discussed the details of the Docking process and how z-order affected what the control was actually docking to. I was able to get the custom controls to resize themselves properly by adding a call to UpdateZOrder() on the custom control after
it was added to the tab page.