private ToolStripMenuItem CreateMenuItem(WindowHandle handle, MenuPrototype menuItemProt)
        {
            ToolStripMenuItem menuItem = new ToolStripMenuItem(menuItemProt.Text);

            if (menuItemProt.OnAction != null)
            {
                menuItem.Click += (sender, args) => menuItemProt.OnAction(handle);
            }

            if (menuItemProt.Items != null && menuItemProt.Items.Any())
            {
                foreach (MenuPrototype menuSubItemProt in menuItemProt.Items)
                {
                    menuItem.DropDownItems.Add(CreateMenuItem(handle, menuSubItemProt));
                }
            }

            return(menuItem);
        }
Example #2
0
        private MenuItem CreateMenuItem(WindowHandle handle, MenuPrototype menuItemProt)
        {
            MenuItem menuItem = new MenuItem(menuItemProt.Text);

            if (menuItemProt.OnAction != null)
            {
                menuItem.Activated += (sender, e) => { menuItemProt.OnAction(handle); };
            }

            if (menuItemProt.Items != null && menuItemProt.Items.Any())
            {
                Menu subMenu = new Menu();
                menuItem.Submenu = subMenu;

                foreach (MenuPrototype menuSubItemProt in menuItemProt.Items)
                {
                    subMenu.Append(CreateMenuItem(handle, menuSubItemProt));
                }
            }

            return(menuItem);
        }