// Constructor.
 public DynamicMenuMgr(MenuItem anchor, MenuItem separator,
    DynamicMenuType dynamicMenuType,
    ItemInsertMode itemInsertMode, int maxItems)
 {
     _anchor = anchor;
     _separator = separator;
     _itemInsertMode = itemInsertMode;
     _dynamicMenuType = dynamicMenuType;
     _maxItems = maxItems > 0 ? maxItems : 4;
     _itemCount = 0;
     // DynamicMenuType is inline.
     if (_dynamicMenuType == DynamicMenuType.Inline)
     {
         // Hide _anchor and _separator if dynamic menus will be inline.
         _anchor.Visible = false;
         if (_separator != null)
             _separator.Visible = false;
     }
     // DynamicMenuType is submenu.
     else
     {
         // Make _anchor visible as it will be the parent menu item
         // of dynamic menu items in a submenu.
         _anchor.Visible = true;
         // Disable _anchor as there is no menu item in the submenu
         // initially.
         _anchor.Enabled = false;
         // _separator should be visible if there is one.
         if (_separator != null)
             _separator.Visible = true;
     }
 }
 // Another constructor with maxItems defaults to 4.
 public DynamicMenuMgr(MenuItem anchor, MenuItem separator,
    DynamicMenuType DynamicMenuType, ItemInsertMode ItemInsertMode)
     : this(anchor, separator, DynamicMenuType, ItemInsertMode, 4)
 {
 }