次の方法で共有


MenuItem.CloneMenu メソッド

定義

MenuItem のコピーを作成します。

オーバーロード

CloneMenu(MenuItem)

指定した MenuItem のコピーを作成します。

CloneMenu()

現在の MenuItem のコピーを作成します。

CloneMenu(MenuItem)

指定した MenuItem のコピーを作成します。

protected:
 void CloneMenu(System::Windows::Forms::MenuItem ^ itemSrc);
protected void CloneMenu (System.Windows.Forms.MenuItem itemSrc);
override this.CloneMenu : System.Windows.Forms.MenuItem -> unit
Protected Sub CloneMenu (itemSrc As MenuItem)

パラメーター

itemSrc
MenuItem

コピー対象のメニュー項目を表す MenuItem

次のコード例では、フォームの で使用される既存MenuItemの のコピーを使用して、新しい MenuItemMainMenu初期化します。 次に、コードによって、複製された MenuItemContextMenu がフォームの に追加されます。 この例では、 が既に MenuItem 作成され、名前が付 menuItem1 けられ、 ContextMenu コントロールが作成され、 という名前が付けられている contextMenu1必要があります。

public:
   void CloneMyMenu()
   {
      // Clone the existing MenuItem into the new MenuItem.
      MenuItem^ tempMenuItem = menuItem1->CloneMenu();
      
      // Assign the cloned MenuItem to the ContextMenu.
      contextMenu1->MenuItems->Add( tempMenuItem );
   }
public void CloneMyMenu()
{
   // Clone the existing MenuItem into the new MenuItem.
   MenuItem tempMenuItem = menuItem1.CloneMenu();
 
   // Assign the cloned MenuItem to the ContextMenu.
   contextMenu1.MenuItems.Add(tempMenuItem);
}
Public Sub CloneMyMenu()
    ' Clone the existing MenuItem into the new MenuItem.
    Dim tempMenuItem As MenuItem = menuItem1.CloneMenu()
       
    ' Assign the cloned MenuItem to the ContextMenu.
    contextMenu1.MenuItems.Add(tempMenuItem)
End Sub

注釈

ショートカット メニューまたはアプリケーション内の別のメニュー構造で使用するために既に作成したメニュー項目のコピーを作成するには、このメソッドを呼び出します。 このバージョンの では CloneMenu 、 メソッドを呼び出すメニュー項目ではなく、コピーする特定 MenuItem の を指定できます。 このメソッドを使用すると、別MenuItemの のコピーを使用して新しいMenuItemオブジェクトを初期化できます。 メニュー項目が複製されると、元のメニュー項目で指定されたイベント ハンドラーは、複製されたバージョンのメニュー項目で引き続き機能します。 たとえば、 を作成し、そのClickイベントをMenuItemイベント ハンドラーに接続した場合です。 メニュー項目が複製されると、複製されたメニュー項目は同じイベント ハンドラーを呼び出します。

適用対象

CloneMenu()

現在の MenuItem のコピーを作成します。

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

戻り値

複製されたメニュー項目を表す MenuItem

次のコード例では、 を MenuItem 複製し、 に ContextMenu表示します。 この例では、 MenuItem という名前のフォーム上に MainMenu が存在しContextMenu、 という名前contextMenu1menuItem1オブジェクトもフォーム上に存在する必要があります。

public:
   void CloneMyMenu()
   {
      // Clone the menu item and add it to the collection for the shortcut menu.
      contextMenu1->MenuItems->Add( menuItem1->CloneMenu() );
   }
public void CloneMyMenu()
{
   // Clone the menu item and add it to the collection for the shortcut menu.
   contextMenu1.MenuItems.Add(menuItem1.CloneMenu());
}
Public Sub CloneMyMenu()

    ' Clone the menu item and add it to the collection for the shortcut menu.
    contextMenu1.MenuItems.Add(menuItem1.CloneMenu())
    
End Sub

注釈

MenuItem オブジェクトは、 のコピーを取得しない限り、複数の場所で MenuItem使用できません。 このメソッドを呼び出して、アプリケーション内の 、MainMenu、またはその他MenuItemContextMenu使用するために、このメニュー項目のコピーを作成できます。 メニュー項目が複製されると、元のメニュー項目で指定されたイベント ハンドラーは、複製されたバージョンのメニュー項目で引き続き機能します。 たとえば、 を作成し、そのClickイベントをMenuItemイベント ハンドラーに接続した場合です。 メニュー項目が複製されると、複製されたメニュー項目は同じイベント ハンドラーを呼び出します。

適用対象