MDI forms in VB are simple. There is no relaxed in C #, but it is still very convenient. First add a form in C #, named mdimain, set it isMdicontAiner to TRUE, so the MDI main form is created. Then add a new form, named mdichild. Now run the program, it will find that only the MDIMAIN main form is run. Oh, because we didn't write any code, the second form certainly could certainly could not appear. Now add this code. Add a menu on the MDIMAIN form, then write a submenu. Double-click the submenu, there will be its Click event, write the following code inscribed in this event: mdichild frmmdichild = new mdichild (); frmmdichild.mdiparent = this; frmmdichild.show (); this can display when clicking on the menu item Mdichild This form. But there will be a problem, that is, if I press two menu items, two MDICHILD forms will appear, huh, this is because the form is a Class in the C #, which has built a MDICHILD with the code just now. Example. So you will have a few forms in a few menu items. One of the methods of control is to write a variable to store whether to open this form. If it is opened, it will not continue to execute. This small code is still very simple. If you want to close the MDICHILD form via the program, just add a button to Mdichild, write close () in the Button's Click event; it is possible.