In order to save it, there is a base form that will iterate through all controls and find any grid inherited from your base grid and use its DisplayLayout method.
Also, a Datasource issue is taken care of at this moment, when closing the form with an UltraGrid in it would throw exceptions at certain situations.
The layout Load is dealt with at the grid's own InitializeLayout.
Please, bare with me... this is the first C# project I have ever created.
Thanks to: http://www.developerfusion.com/tools/convert/vb-to-csharp/