System.Windows.Forms.MdiClient.RemoveControlMenuItems C# (CSharp) Method

RemoveControlMenuItems() private method

private RemoveControlMenuItems ( System.Windows.Forms.MdiWindowManager wm ) : void
wm System.Windows.Forms.MdiWindowManager
return void
		internal void RemoveControlMenuItems (MdiWindowManager wm)
		{
			Form form = wm.form;
			MenuStrip parent_menu = form.MdiParent.MainMenuStrip;

			// Only remove the items if the form requesting still owns the menu items
			if (parent_menu != null) {
				parent_menu.SuspendLayout ();

				for (int i = parent_menu.Items.Count - 1; i >= 0; i--) {
					if (parent_menu.Items[i] is MdiControlStrip.SystemMenuItem) {
						if ((parent_menu.Items[i] as MdiControlStrip.SystemMenuItem).MdiForm == form)
							parent_menu.Items.RemoveAt (i);
					} else if (parent_menu.Items[i] is MdiControlStrip.ControlBoxMenuItem) {
						if ((parent_menu.Items[i] as MdiControlStrip.ControlBoxMenuItem).MdiForm == form)
							parent_menu.Items.RemoveAt (i);
					}
				}
				
				parent_menu.ResumeLayout ();
			}
		}

Usage Example

Example #1
0
        private void FormClosed(object sender, EventArgs e)
        {
            mdi_container.ChildFormClosed(form);

            if (form.MdiParent.MainMenuStrip != null)
            {
                form.MdiParent.MainMenuStrip.RefreshMdiItems();
            }

            mdi_container.RemoveControlMenuItems(this);
        }