Menu.MergeMenu(Menu) 方法
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将一个菜单的 MenuItem 对象与当前菜单合并。
public:
virtual void MergeMenu(System::Windows::Forms::Menu ^ menuSrc);
public virtual void MergeMenu(System.Windows.Forms.Menu menuSrc);
abstract member MergeMenu : System.Windows.Forms.Menu -> unit
override this.MergeMenu : System.Windows.Forms.Menu -> unit
Public Overridable Sub MergeMenu (menuSrc As Menu)
它已尝试将菜单与自己合并在一起。
此示例创建两个菜单, mainMenu1
和 mainMenu2
。 第一个菜单包含一个 MenuItem、 File
,第二个菜单包含一个 MenuItem、 Edit
。
MergeMenu使用 方法, mainMenu2
与 mainMenu1
合并。 显示 时, mainMenu1
将包含两个菜单项和 File
Edit
。 此示例要求已创建名为 Form 的 Form1
。
private:
void InitializeMyMainMenu()
{
// Create the 2 menus and the menu items to add.
MainMenu^ mainMenu1 = gcnew MainMenu;
MainMenu^ mainMenu2 = gcnew MainMenu;
MenuItem^ menuItem1 = gcnew MenuItem;
MenuItem^ menuItem2 = gcnew MenuItem;
// Set the caption for the menu items.
menuItem1->Text = "File";
menuItem2->Text = "Edit";
// Add a menu item to each menu for displaying.
mainMenu1->MenuItems->Add( menuItem1 );
mainMenu2->MenuItems->Add( menuItem2 );
// Merge mainMenu2 with mainMenu1
mainMenu1->MergeMenu( mainMenu2 );
// Assign mainMenu1 to the form.
this->Menu = mainMenu1;
}
private void InitializeMyMainMenu()
{
// Create the 2 menus and the menu items to add.
MainMenu mainMenu1 = new MainMenu();
MainMenu mainMenu2 = new MainMenu();
MenuItem menuItem1 = new MenuItem();
MenuItem menuItem2 = new MenuItem();
// Set the caption for the menu items.
menuItem1.Text = "File";
menuItem2.Text = "Edit";
// Add a menu item to each menu for displaying.
mainMenu1.MenuItems.Add(menuItem1);
mainMenu2.MenuItems.Add(menuItem2);
// Merge mainMenu2 with mainMenu1
mainMenu1.MergeMenu(mainMenu2);
// Assign mainMenu1 to the form.
this.Menu = mainMenu1;
}
Private Sub InitializeMyMainMenu()
' Create the 2 menus and the menu items to add.
Dim mainMenu1 As New MainMenu()
Dim mainMenu2 As New MainMenu()
Dim menuItem1 As New MenuItem()
Dim menuItem2 As New MenuItem()
' Set the caption for the menu items.
menuItem1.Text = "File"
menuItem2.Text = "Edit"
' Add a menu item to each menu for displaying.
mainMenu1.MenuItems.Add(menuItem1)
mainMenu2.MenuItems.Add(menuItem2)
' Merge mainMenu2 with mainMenu1
mainMenu1.MergeMenu(mainMenu2)
' Assign mainMenu1 to the form.
Me.Menu = mainMenu1
End Sub
此方法将 MenuItem 一个菜单中的对象与当前菜单合并。 MenuItem对象根据 和 MenuItem.MergeOrder 属性的值MenuItem.MergeType进行合并。
菜单合并通常是为了将多文档界面 (MDI) 父窗体的菜单与其活动 MDI 子窗体的菜单合并。 这由.NET Framework公共语言运行时自动执行。 例如,如果 MDI 父窗体包含一组用于处理文件的菜单,并且 MDI 子窗体也具有与文件相关的菜单项,则当子窗体显示在 MDI 父窗体中时,菜单集将自动合并到单个文件菜单集。
如果要合并两个不属于 MDI 应用程序的菜单结构,则可以使用 MergeMenu 方法。 此实现可由 或 ContextMenu 类调用MainMenu,以合并派生自 Menu的两个或多个 对象。
若要合并两个 MenuItem 对象, MenuItem.MergeMenu 请使用 方法。
产品 | 版本 |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 10 |