// minimal Clone implementation for DGV support only.
        internal ContextMenuStrip Clone()
        {
            // VERY limited support for cloning.

            ContextMenuStrip contextMenuStrip = new ContextMenuStrip();

            // copy over events
            contextMenuStrip.Events.AddHandlers(this.Events);

            contextMenuStrip.AutoClose       = AutoClose;
            contextMenuStrip.AutoSize        = AutoSize;
            contextMenuStrip.Bounds          = Bounds;
            contextMenuStrip.ImageList       = ImageList;
            contextMenuStrip.ShowCheckMargin = ShowCheckMargin;
            contextMenuStrip.ShowImageMargin = ShowImageMargin;


            // copy over relevant properties

            for (int i = 0; i < Items.Count; i++)
            {
                ToolStripItem item = Items[i];

                if (item is ToolStripSeparator)
                {
                    contextMenuStrip.Items.Add(new ToolStripSeparator());
                }
                else if (item is ToolStripMenuItem)
                {
                    ToolStripMenuItem menuItem = item as ToolStripMenuItem;
                    contextMenuStrip.Items.Add(menuItem.Clone());
                }
            }
            return(contextMenuStrip);
        }
Exemple #2
0
        internal ContextMenuStrip Clone()
        {
            ContextMenuStrip strip = new ContextMenuStrip();

            strip.Events.AddHandlers(base.Events);
            strip.AutoClose       = base.AutoClose;
            strip.AutoSize        = this.AutoSize;
            strip.Bounds          = base.Bounds;
            strip.ImageList       = base.ImageList;
            strip.ShowCheckMargin = base.ShowCheckMargin;
            strip.ShowImageMargin = base.ShowImageMargin;
            for (int i = 0; i < this.Items.Count; i++)
            {
                ToolStripItem item = this.Items[i];
                if (item is ToolStripSeparator)
                {
                    strip.Items.Add(new ToolStripSeparator());
                }
                else if (item is ToolStripMenuItem)
                {
                    ToolStripMenuItem item2 = item as ToolStripMenuItem;
                    strip.Items.Add(item2.Clone());
                }
            }
            return(strip);
        }