Menu.MergeMenu メソッド
1 つのメニューの MenuItem オブジェクトを現在のメニューにマージします。
Public Overridable Sub MergeMenu( _
ByVal menuSrc As Menu _)
[C#]
public virtual void MergeMenu(MenumenuSrc);
[C++]
public: virtual void MergeMenu(Menu* menuSrc);
[JScript]
public function MergeMenu(
menuSrc : Menu);
パラメータ
- menuSrc
現在のメニューのメニュー項目にメニュー項目がマージされている Menu 。
例外
例外の種類 | 条件 |
---|---|
Exception | メニューがそのメニュー自体にマージされました。 |
解説
このメソッドは、1 つのメニューからの MenuItem オブジェクトを現在のメニューにマージします。 MenuItem オブジェクトは、 MenuItem.MergeType プロパティと MenuItem.MergeOrder プロパティの値に応じてマージされます。
通常、メニューのマージは、マルチ ドキュメント インターフェイス (MDI) 親フォームのメニューをアクティブな MDI 子フォームのメニューにマージするために行われます。これは .NET Framework 共通言語ランタイムによって自動的に実行されます。たとえば、MDI 親フォームにファイル処理のメニューのセットが格納されていて、MDI 子フォームにもファイル関連のメニュー項目がある場合、このメニュー セットは子フォームが MDI 親フォームに表示されるとき自動的に 1 つのファイル メニュー セットにマージされます。
MDI アプリケーションの一部ではない 2 つのメニュー構造をマージする場合は、 MergeMenu メソッドが使用できます。この実装は、 Menu から派生した 2 つ以上のオブジェクトをマージするために、 MainMenu クラスまたは ContextMenu クラスによって呼び出すことができます。
2 つの MenuItem オブジェクトをマージするには、 MenuItem.MergeMenu メソッドを使用します。
使用例
[Visual Basic, C#, C++] この例では、2 つのメニュー、 mainMenu1
および mainMenu2
を作成します。最初のメニューには 1 つの MenuItem 、File が含まれ、2 番目のメニューには 1 つの MenuItem 、Edit が含まれます。 MergeMenu メソッドを使用して、 mainMenu2
が mainMenu1
にマージされます。表示されたとき、 mainMenu1
には 2 つのメニュー項目、 File と Edit が含まれます。この例は、 Form1
という名前の Form を作成済みであることを前提にしています。
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 'InitializeMyMainMenu
[C#]
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;
}
[C++]
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 = S"File";
menuItem2->Text = S"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;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
Menu クラス | Menu メンバ | System.Windows.Forms 名前空間 | MenuItem.MergeType | MenuItem.MergeOrder