Odd.
I just tried it (deriving directly from a form is not something I do that often, so I wanted to be sure)
I have an existing form called frmPurchaseType
I added a form called frmDeleteMe
I changed the frmDeleteMe.cs file to:
public partial class frmDeleteMe : frmPurchaseType
I opened the frmDeleteMe in the designer, enlarged it, and added a new button. All the frmPurchaseType controls were present.
I added code to my main form load event:
frmDeleteMe f = new frmDeleteMe();
f.Show();
I ran the app. The form that showed was frmDeleteMe, with the extra button, and all frmPurchaseType controls.
What did you do that I didn't?