Introduction
In my preivious article, I explained how we can form a dynamic menu using XML. That is a very basic method. There we cannot do any validation like MenuItem enable or disable, icon setting and etc. In this article, I extend the XML usage.
Building Menu
I have changed the XML format. The following is the XML file format:
<Records>
<MenuItem>
<MenuID>FILE</MenuID>
<MenuName>File</MenuName>
<MenuParent></MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>NEW</MenuID>
<MenuName>New</MenuName>
<MenuParent>FILE</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>OPEN</MenuID>
<MenuName>Open</MenuName>
<MenuParent>FILE</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>EXIT</MenuID>
<MenuName>Exit</MenuName>
<MenuParent>FILE</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>DOC</MenuID>
<MenuName>Document File</MenuName>
<MenuParent>NEW</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>TXT</MenuID>
<MenuName>Text File</MenuName>
<MenuParent>NEW</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>HTML</MenuID>
<MenuName>HTML File</MenuName>
<MenuParent>NEW</MenuParent>
<Enable>N</Enable>
</MenuItem>
<MenuItem>
<MenuID>EDIT</MenuID>
<MenuName>Edit</MenuName>
<MenuParent></MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>COPY</MenuID>
<MenuName>Copy</MenuName>
<MenuParent>EDIT</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>PASTE</MenuID>
<MenuName>Paste</MenuName>
<MenuParent>EDIT</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>HELP</MenuID>
<MenuName>Help</MenuName>
<MenuParent></MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>HHELP</MenuID>
<MenuName>Help</MenuName>
<MenuParent>HELP</MenuParent>
<Enable>Y</Enable>
</MenuItem>
<MenuItem>
<MenuID>ABOUT</MenuID>
<MenuName>About</MenuName>
<MenuParent>HELP</MenuParent>
<Enable>Y</Enable>
</MenuItem>
</Records>
I have changed the CreateMenuItems little bit to use DataSet.

The menu will be shown like:

Finally
I think this shows how you can implement the security in MainMenu and any help, comments are much appreciated!