System.Windows.Forms.MenuItem.MergeMenu C# (CSharp) Method

MergeMenu() public method

public MergeMenu ( ) : MenuItem
return MenuItem
		public virtual MenuItem MergeMenu ()
		{
			MenuItem item = new MenuItem ();
			item.CloneMenu (this);
			return item;
		}

Same methods

MenuItem::MergeMenu ( MenuItem itemSrc ) : void

Usage Example

        public virtual void MergeMenu(Menu menuSrc)
        {
            if (menuSrc == this)
            {
                throw new ArgumentException(System.Windows.Forms.SR.GetString("MenuMergeWithSelf"), "menuSrc");
            }
            if ((menuSrc.items != null) && (this.items == null))
            {
                this.MenuItems.Clear();
            }
            for (int i = 0; i < menuSrc.ItemCount; i++)
            {
                MenuItem itemSrc = menuSrc.items[i];
                switch (itemSrc.MergeType)
                {
                case MenuMerge.Add:
                    this.MenuItems.Add(this.FindMergePosition(itemSrc.MergeOrder), itemSrc.MergeMenu());
                    break;

                case MenuMerge.Replace:
                case MenuMerge.MergeItems:
                {
                    int mergeOrder = itemSrc.MergeOrder;
                    int index      = this.xFindMergePosition(mergeOrder);
                    while (true)
                    {
                        if (index >= this.ItemCount)
                        {
                            this.MenuItems.Add(index, itemSrc.MergeMenu());
                            break;
                        }
                        MenuItem item2 = this.items[index];
                        if (item2.MergeOrder != mergeOrder)
                        {
                            this.MenuItems.Add(index, itemSrc.MergeMenu());
                            break;
                        }
                        if (item2.MergeType != MenuMerge.Add)
                        {
                            if ((itemSrc.MergeType != MenuMerge.MergeItems) || (item2.MergeType != MenuMerge.MergeItems))
                            {
                                item2.Dispose();
                                this.MenuItems.Add(index, itemSrc.MergeMenu());
                            }
                            else
                            {
                                item2.MergeMenu(itemSrc);
                            }
                            break;
                        }
                        index++;
                    }
                }
                }
            }
        }
All Usage Examples Of System.Windows.Forms.MenuItem::MergeMenu