我正在制作一个另一种形式的子类形式,即“基本形式”
在基本表单中,我有一个菜单条。它会有一些项目。
但是,在子窗体中,我想要一个菜单条,除了它必须包含基本菜单条包含的所有项目。我在某地读到你可以合并menustrips ......但我也希望得到设计师的支持!
也就是说,如果我在设计器中打开子表单,它将显示所有基本表单项以及新的子表单项。最好,我希望锁定基本表单项。
这可能吗?如果没有,我想我可以在子表单中的InitializeComponent之后合并基本menustrip。
有什么想法吗?
答案 0 :(得分:1)
您可以合并两个菜单:
ToolStripManager.Merge(source, target)
例如,在form2.load中,您可以使用它将form2的菜单与form1的菜单结合起来:
ToolStripManager.Merge(Form1.MenuStrip1, MenuStrip1)
答案 1 :(得分:0)
OP说“我也希望得到设计师支持”,尽管你仍然需要使用@xpda提出的Merge()调用,但这是可能的。您可以将子项的项添加到子类设计器中的MenuStrip
,并以正常方式对其进行编辑。在设计器中,此条带显示在基类的菜单条下方。
执行表单时,Merge(source,target)调用将从源(子)MenuStrip
中删除项目,并将它们复制到目标(基础)MenuStrip。 但是子菜单条(现在为空白)仍显示在主菜单下方。您必须将其Visible属性设置为false,您可以在设计器中或在Merge()调用后以编程方式执行此操作。