• winform menustrip的遍历


    我这个是设置指定的菜单为不可用,是在权限控制的时候,我遍历了一下。 

     private void CheckSubMenu(ToolStripMenuItem menuItem, string MenuItemName)
            {
                if (menuItem.Text.Equals(MenuItemName))
                {
                    menuItem.Enabled = false;
                }
                for (int i = 0; i < menuItem.DropDownItems.Count; i++)
                {
                    if (menuItem.DropDownItems[i] is ToolStripSeparator)
                    {
                        continue;
                    }
                    else
                    {
                        CheckSubMenu((ToolStripMenuItem)menuItem.DropDownItems[i], MenuItemName);
                    }
                }
            }

            private void CheckMenu(MenuStrip Menu,string MenuItemName)
            {
                foreach (ToolStripMenuItem n in Menu.Items)
                {
                    CheckSubMenu(n,MenuItemName);
                }
            }

      红字部分,我本来是用的的foreach循环如下:

           foreach(ToolStripMenuItem  m    in   menuItem.DropDownItems)

             {

                  CheckSubMenu(m,MenuItemName);

             }

      但一测试过后发现我的菜单里有ToolStripSeparator这个很讨厌,所以没办法就改成for循环,加了是否ToolStripSeparator的判断

  • 相关阅读:
    ubuntu 16.04 连接无线网络
    linux的内存管理-抛砖引玉
    linux的进程调度-抛砖引玉
    AliOS Things 异步事件框架Yloop
    AliOS Things 云端物联网操作系统
    linux performance tools
    linux进程调度
    linux 内核Lockup机制浅析
    cache和内存屏障
    linux设备模型及实例
  • 原文地址:https://www.cnblogs.com/ewyb/p/1576301.html
Copyright © 2020-2023  润新知