"Build Menus Dynamically," by Kathleen Dollard [Visual Studio Magazine, March 2004]

The solution file is in DynamicProgramming.

Fire up this code and open some forms. Watch how the menu 
state responds. You can dirty forms by clicking on the body 
of any form. It's caption will reflect the state of the 
IsDirty and IsNew variables respectively.

Then, copy forms from an application you've got laying around. 
Change some forms to derive from BaseEditForm instead of 
WIndows.Forms.Form. That should be enough for the forms to 
show up in the menus. 

You can also play with the resource files and decorating 
your classes with attributes. 

This code shows how several things

	- Dynamically creating menus at runtime
	- Managing State in an MDI parent form
	- Preparing for localization using resource files
	- Broader dynamic programming concepts relying on 
		- Discovering
		- Creating
		- Invoking
		- Decorating
		- Contracting

Enjoy!
Kathleen