如何让子窗体菜单替换mdi应用中的父窗体(不只是与它合并)?我的问题与this类似,但有时候当没有显示子窗体时需要显示父菜单以及其他情况,所以我不能让父菜单一直空着。
将menustrip的AllowMerge子项设置为true。我的想法是,当用户选择菜单选项以显示子表单时,子表单的menustrip将与父表单的空菜单合并,使子菜单的外观替换父菜单。以下代码旨在实现这一目标。但结果是菜单为空白。孩子的菜单没有显示。我猜还有更多事情要发生,但我不知道正确的过程。
主要表格中的代码:
Control[] c = Controls.Find("menuStripMain", true);
Control savedMenu = c[0];
Controls.Remove(c[0]);
MenuStrip n = new MenuStrip();
this.MainMenuStrip = n;
ChildForm cw = new ChildForm();
sw.MdiParent = this;
sw.Show();
sw.Focus();