版本为vs2005
建有两个窗体:
两个窗体上都有一个Menustrip
AllowMerge都设truemid父窗体有一个菜单File->open
open的MergeAction值为MatchOnly,MergeIndex值为1mid子窗体也有一个菜单File->openA
open的MergeAction值为Remove,MergeIndex值为1成员名称 说明(MSDN文档)
Append 忽略匹配结果,将该项追加到集合结尾。  
Insert 将该项插入目标集合中的匹配项前。如果匹配项在列表的结尾,则将该项追加到列表。如果没有匹配项或匹配项在列表的开始处,则将该项插入到集合的开始。  
MatchOnly 要求匹配项,但不进行任何操作。使用此方法来创建树和成功访问嵌套布局。  
Remove 移除匹配项。  
Replace 用源项替换匹配项。原始项的下拉项不会成为传入项的子项。  按照msdn文档的说法,程序运行后,当show出mid子窗体后,父窗体的open菜单项就会消失,但是我运行的实际情况是父窗体的open没有消失如果把子窗体的openA改为open则运行后,父窗体的open才会消失,这说明并没有进行MergeIndex索引的匹配,而是单纯用的Text匹配。但是如果把mid子窗体的MergeAction值设为insert,append等其它值,都会实现文档所说明的功能,子窗体不需要改成open都会自动匹配msdn文档所说的各项功能。我想这是不是MergeAction方法中Remove值的一个bug,只能用Text匹配,而不能像insert,append等值一样用MergeIndex索引匹配?请大侠们指教!