MenuItem.MergeMenu 方法

定义

将此 MenuItem 与另一个 MenuItem 合并。

重载

MergeMenu(MenuItem)

将另一菜单项与该菜单项合并。

MergeMenu()

将此 MenuItem 与另一个 MenuItem 合并并返回合并后的 MenuItem

MergeMenu(MenuItem)

将另一菜单项与该菜单项合并。

public:
 void MergeMenu(System::Windows::Forms::MenuItem ^ itemSrc);
public void MergeMenu (System.Windows.Forms.MenuItem itemSrc);
override this.MergeMenu : System.Windows.Forms.MenuItem -> unit
Public Sub MergeMenu (itemSrc As MenuItem)

参数

itemSrc
MenuItem

指定要与该菜单项合并的菜单项的 MenuItem

示例

下面的代码示例使用此版本的 MergeMenu 方法创建 的副本 MenuItem ,并将其与其他副本合并。 然后,合并的 MenuItem 将添加到 ContextMenu 控件。 此示例要求有两个名为 menuItem1 的菜单项, menuItem2 其中包含子菜单项,以及一个 ContextMenu 用于显示菜单项的命名 contextMenu1 菜单项。 menuItem1menuItem2 包含不同的菜单项。 调用 MergeMenu 后,将创建一个合并菜单。

private:
   void MergeMyMenus()
   {
      // Set the merge type to merge the items from both top menu items.
      menuItem1->MergeType = MenuMerge::MergeItems;
      menuItem2->MergeType = MenuMerge::MergeItems;
      // Create a copy of my menu item.
      MenuItem^ tempMenuItem = gcnew MenuItem;
      // Create a copy of menuItem1 before doing the merge.
      tempMenuItem = menuItem1->CloneMenu();
      // Merge menuItem1's copy with a clone of menuItem2
      tempMenuItem->MergeMenu( menuItem2->CloneMenu() );
      
      // Add the merged menu to the ContextMenu control.
      contextMenu1->MenuItems->Add( tempMenuItem );
   }
private void MergeMyMenus()
{
   // Set the merge type to merge the items from both top menu items.
   menuItem1.MergeType = MenuMerge.MergeItems;
   menuItem2.MergeType = MenuMerge.MergeItems;
   // Create a copy of my menu item.
   MenuItem tempMenuItem = new MenuItem();
   // Create a copy of menuItem1 before doing the merge.
   tempMenuItem = menuItem1.CloneMenu();
   // Merge menuItem1's copy with a clone of menuItem2
   tempMenuItem.MergeMenu(menuItem2.CloneMenu());

   // Add the merged menu to the ContextMenu control.
   contextMenu1.MenuItems.Add(tempMenuItem);
}
Private Sub MergeMyMenus()
    ' Set the merge type to merge the items from both top menu items.
    menuItem1.MergeType = MenuMerge.MergeItems
    menuItem2.MergeType = MenuMerge.MergeItems
    ' Create a copy of my menu item.
    Dim tempMenuItem As New MenuItem()
    ' Create a copy of menuItem1 before doing the merge.
    tempMenuItem = menuItem1.CloneMenu()
    ' Merge menuItem1's copy with a clone of menuItem2
    tempMenuItem.MergeMenu(menuItem2.CloneMenu())
       
    ' Add the merged menu to the ContextMenu control.
    contextMenu1.MenuItems.Add(tempMenuItem)
End Sub

注解

根据菜单项的 MergeTypeMergeOrder 属性的值合并菜单项。 使用此版本的 MergeMenu 方法,可以将两 MenuItem 个对象 (及其子菜单) 合并到单个菜单中。 当多文档界面 (MDI) 父窗体和子窗体都具有菜单时,会自动处理菜单合并。 可以使用此版本的 方法将位于 控件中的两 MenuItemMainMenu 对象 (及其子) 菜单项合并到 中的 ContextMenu单个菜单中。 例如,可以调用此版本的 MergeMenu 方法,将“文件”菜单和“编辑”菜单的菜单项合并为一 MenuItem 个,然后可将其添加到 并由 其显示 ContextMenu

适用于

MergeMenu()

将此 MenuItem 与另一个 MenuItem 合并并返回合并后的 MenuItem

public:
 virtual System::Windows::Forms::MenuItem ^ MergeMenu();
public virtual System.Windows.Forms.MenuItem MergeMenu ();
override this.MergeMenu : unit -> System.Windows.Forms.MenuItem
Public Overridable Function MergeMenu () As MenuItem

返回

表示合并菜单项的 MenuItem

注解

调用此版本的 MergeMenu时, MenuItem 返回的 是当前菜单项的副本,该副本可以与其他菜单项合并,而不会影响当前项的功能。 此版本的 MergeMenu 方法类似于调用 CloneMenu 不包含参数的 方法。

适用于