合并 MDI 窗口的菜单条项
如何合并具有相同菜单名称的父窗体和子窗体的菜单项?
How can I merge menu items of parent form and child form with same menu name?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何合并具有相同菜单名称的父窗体和子窗体的菜单项?
How can I merge menu items of parent form and child form with same menu name?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
将菜单项的 MergeAction 设置为“MatchOnly”。
已添加
因为这可能会有点棘手,所以我将添加一个步骤列表来制作一个简单的示例。
有一个包含项目 A 和 B 的文件菜单。
单击处理程序。
new Form2 { MdiParent = this }.Show();
添加到处理程序方法中。到表格2。
C
带有项目 C 的“文件”菜单。
属性窗口设置MergeAction
只匹配。
请注意,“文件”菜单项是 A 和 B。
单击“文件”->“文件”。 A 创建子窗口。
请注意,容器上的“文件”菜单现在包含 A、B 和 C。
另请注意,子容器上的“文件”菜单也在那里,但没有任何项目。这是因为C被合并了。
您现在可以将子项的 MenuStrip.Visible 属性设置为 False,以便子项不显示菜单。在设计菜单时,将其保留为 True 很方便,这样您就可以验证所有子菜单项是否已正确合并(它们将从子菜单中消失)。
您可以使用 MergeIndex 属性来控制子项如何合并到容器中。
Set the MergeAction of the menu items to "MatchOnly".
Added
Because this can get a little tricky, I'll add a list of steps to make a simple example.
have a File menu with items A and B.
click handler.
new Form2 { MdiParent = this }.Show();
to the handler method.to Form2.
C
File menu with item C.
the Properties window set MergeAction
to MatchOnly.
Notice that the File menu items are A and B.
Click File -> A to create a child window.
Notice that the File menu on the container now contains A, B, and C.
Notice also that the File menu on the child is there, but has no items. This is because C was merged.
You can now set the child's MenuStrip.Visible property to False so that the child does not display a menu. It is handy to leave this as True when designing your menus so that you can verify that all the child menu items have been merged correctly (they will be gone from the child menu).
You can use the MergeIndex property to control how child items get merged into the container.