コード例 #1
0
 /// <summary>
 /// Removes all elements (including menu items added by default) from the menu.
 /// </summary>
 public void ClearMenu()
 {
     for (int i = Items.Count - 1; i >= 0; i--)
     {
         SysMenuAPI.RemoveMenu(Menu, Items[i].ID, SysMenuAPI.Flags.MF_BYCOMMAND);
         Items.RemoveAt(i);
     }
 }
コード例 #2
0
 /// <summary>
 /// Remove an item from the system menu.
 /// </summary>
 /// <param name="index">The index of the item which should be removed.</param>
 public void RemoveItem(int index)
 {
     SysMenuAPI.RemoveMenu(Menu, Items[index].ID, SysMenuAPI.Flags.MF_BYCOMMAND);
     if (Items[index].HasSubItems())
     {
         Items[index].ClearSubMenu();
     }
     Items.RemoveAt(index);
 }
コード例 #3
0
        /// <summary>
        /// Remove an item from the sub menu.
        /// </summary>
        /// <param name="index">The index of the item which should be removed.</param>
        public void RemoveSubItem(int index)
        {
            SystemMenuItem itm = SubItems[index];

            SysMenuAPI.RemoveMenu(itm.HMenu, itm.ID, SysMenuAPI.Flags.MF_BYCOMMAND);
            if (itm.HasSubItems())
            {
                itm.ClearSubMenu();
            }
            SubItems.RemoveAt(index);
            if (SubItems.Count == 0)
            {
                SubMenu = IntPtr.Zero;
            }
        }
コード例 #4
0
 /// <summary>
 /// Removes all sub items.
 /// </summary>
 public void ClearSubMenu()
 {
     for (int i = SubItems.Count - 1; i >= 0; i--)
     {
         if (SubItems[i].HasSubItems())
         {
             SubItems[i].ClearSubMenu();
         }
         SysMenuAPI.RemoveMenu(SubItems[i].HMenu, SubItems[i].ID, SysMenuAPI.Flags.MF_BYCOMMAND);
         SubItems.RemoveAt(i);
     }
     if (SubItems.Count == 0)
     {
         SubMenu = IntPtr.Zero;
     }
 }