MenuItem.MergeMenu メソッド (MenuItem)
別のメニュー項目とこのメニュー項目をマージします。
Overloads Public Sub MergeMenu( _
ByVal itemSrc As MenuItem _)
[C#]
public void MergeMenu(MenuItemitemSrc);
[C++]
public: void MergeMenu(MenuItem* itemSrc);
[JScript]
public function MergeMenu(
itemSrc : MenuItem);
パラメータ
- itemSrc
このメニュー項目とマージするメニュー項目を指定する MenuItem 。
解説
メニュー項目は、その MergeType プロパティと MergeOrder プロパティの値に従ってマージされます。このバージョンの MergeMenu メソッドを使用すると、2 つの MenuItem オブジェクト (およびそのサブメニュー) をマージして単一のメニューを作成できます。マルチ ドキュメント インターフェイス (MDI) 親フォームと子フォームの両方にメニューがある場合、メニューのマージは自動的に処理されます。このバージョンのメソッドを使用すると、 MainMenu コントロール内の 2 つの MenuItem オブジェクト (およびそのサブメニュー項目) を ContextMenu 内の単一のメニューにマージできます。たとえば、このバージョンの MergeMenu メソッドを呼び出して [ファイル] メニューと [編集] メニューの項目を単一の MenuItem にマージし、 ContextMenu に追加して表示できます。
使用例
[Visual Basic, C#, C++] このバージョンの MergeMenu メソッドを使用して MenuItem のコピーを作成し、そのコピーを別のメニュー項目にマージする例を次に示します。マージ後の MenuItem は、その後 ContextMenu コントロールに追加されます。この例は、サブメニュー項目を含んでいる 2 つのメニュー項目 menuItem1
および menuItem2
があり、これらのメニュー項目を表示する contextMenu1
という名前の ContextMenu があることを前提にしています。 menuItem1
と menuItem2
には、異なるメニュー項目が格納されています。 MergeMenu が呼び出された後で、統合されたメニューが作成されます。
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
[C#]
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);
}
[C++]
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);
}
[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 ファミリ
参照
MenuItem クラス | MenuItem メンバ | System.Windows.Forms 名前空間 | MenuItem.MergeMenu オーバーロードの一覧