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 (); } }
private void FormClosed(object sender, EventArgs e) { mdi_container.ChildFormClosed(form); if (form.MdiParent.MainMenuStrip != null) { form.MdiParent.MainMenuStrip.RefreshMdiItems(); } mdi_container.RemoveControlMenuItems(this); }