MenuItem.MergeMenu 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
MergeMenu(MenuItem) |
将另一菜单项与该菜单项合并。 |
MergeMenu() |
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)
参数
示例
下面的代码示例使用此版本的 MergeMenu 方法创建 的副本 MenuItem ,并将其与其他副本合并。 然后,合并的 MenuItem 将添加到 ContextMenu 控件。 此示例要求有两个名为 menuItem1
的菜单项, menuItem2
其中包含子菜单项,以及一个 ContextMenu 用于显示菜单项的命名 contextMenu1
菜单项。
menuItem1
和 menuItem2
包含不同的菜单项。 调用 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
注解
根据菜单项的 MergeType 和 MergeOrder 属性的值合并菜单项。 使用此版本的 MergeMenu 方法,可以将两 MenuItem 个对象 (及其子菜单) 合并到单个菜单中。 当多文档界面 (MDI) 父窗体和子窗体都具有菜单时,会自动处理菜单合并。 可以使用此版本的 方法将位于 控件中的两 MenuItem 个 MainMenu 对象 (及其子) 菜单项合并到 中的 ContextMenu单个菜单中。 例如,可以调用此版本的 MergeMenu 方法,将“文件”菜单和“编辑”菜单的菜单项合并为一 MenuItem 个,然后可将其添加到 并由 其显示 ContextMenu。
适用于
MergeMenu()
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 不包含参数的 方法。