[英]Get index of ToolStripMenuItem.DropDownItems for specific Tag without foreach loop
[英]How to get notified when an Item is added to a ToolStripMenuItem.DropDownItems collection
我正在用C#开发MDI应用程序。 将两个MenuStrip合并时遇到麻烦:
我父父Form
与它MenuStrip parentMenu
和一些ToolStripMenuItem
元素: Option1
, Option2
。
然后,我有一个孩子Form
与它MenuStrip parentMenu
和两个ToolStripMenuItem
元素: Option1
和OtherOption
。 这些合并propierties正赛,只为Opcion1
和追加的OtherOption
现在,这是问题所在:当显示子窗体并将两个MenuStrip
合并时,由于将OtherOption
添加到parentMenu.Items
集合中,因此将事件parentMenu.ItemAdded设置为tiggrered。 Option1
并非如此。 请注意, Option1.DropDownItems
中的某些元素(在子窗体中)可能不存在于父窗体的Option1.DropDownItems
中。
如何获得有关添加的这些项目的通知?
(只是为了清晰:假设parentMenu.Items
只包含ToolStripMenuItem Option1
只包含一个ToolStripMenuItem
,说“optionA”假设。 childMenu.Items
只包含一个ToolStripMenuItem Option1
只包含ToolStripMenuItem optionB
当两个菜单合并,怎么可以。我收到有关父亲添加的optionB项的通知;或者如何知道两个元素是新的又如何合并两个菜单的通知?)。
“ MenuStrip合并将菜单项从一个ToolStrip移至另一个,而不是像MainMenu那样将其克隆。 看这里 。
因为它是在移动而不是克隆它们,所以请尝试对ToolStripItem
进行OwnerChanged
事件。 为您的每个项目挂起此事件,当它移动到另一个工具栏时,它将通知您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.