コード例 #1
0
        private void EnableMenuItems()
        {
            foreach (ToolStripMenuItem menuItem in initiallyInvisible)
            {
                menuItem.Available = false;
            }
            foreach (ToolStripMenuItem menuItem in menuStrip.Items)
            {
                DisableAndResetMenuItemsRecursive(menuItem);
            }

            if (activeHandler != null)
            {
                activeHandler.EnableMenuItems(this);
            }
            if (globalHandler != null)
            {
                globalHandler.EnableMenuItems(this);
            }

            foreach (ToolStripMenuItem menuItem in menuStrip.Items)
            {
                menuItem.Enabled = true; // always enable top-level menus - less confusing ux
                PropagateEnableMenuItemsRecursive(menuItem);
                HideRedundantSeparatorsRecursive(menuItem);
            }
        }