次の方法で共有


MainMenu.CloneMenu メソッド

定義

現在の MainMenu の複製である新しい MainMenu を作成します。

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

戻り値

MainMenu

クローンとして作成されたメニューを表す MainMenu

次のコード例では、メソッドを GetForm 使用して、 MainMenu フォームに現在親になっているかどうかを判断します。 コードGetForm例の呼び出しが返nullされない場合、コードはメソッドを使用してメニュー構造をMainMenuCloneMenu複製します。 次に、コードは、右から左のテキストをサポートする言語に使用できるプロパティをMainMenu作成する新しいコピーMainMenuでプロパティを true に設定RightToLeftします。 この例では、名前が付mainMenu1いたMainMenu作成済みである必要があります。

void CloneMyMenu()
{
   // Determine if mainMenu1 is currently hosted on the form.
   if ( mainMenu1->GetForm() != nullptr )
   {
      // Create a copy of the MainMenu that is hosted on the form.
      MainMenu^ mainMenu2 = mainMenu1->CloneMenu();

      // Set the RightToLeft property for mainMenu2.
      mainMenu2->RightToLeft = ::RightToLeft::Yes;
   }
}
public void CloneMyMenu()
{
   // Determine if mainMenu1 is currently hosted on the form.
   if(mainMenu1.GetForm() != null)
   {
      // Create a copy of the MainMenu that is hosted on the form.
      MainMenu mainMenu2 = mainMenu1.CloneMenu();
      // Set the RightToLeft property for mainMenu2.
      mainMenu2.RightToLeft = RightToLeft.Yes;
   }
}
Public Sub CloneMyMenu()
    ' Determine if mainMenu1 is currently hosted on the form.
    If (mainMenu1.GetForm() IsNot Nothing) Then
        ' Create a copy of the MainMenu that is hosted on the form.
        Dim mainMenu2 As MainMenu = mainMenu1.CloneMenu()
        ' Set the RightToLeft property for mainMenu2.
        mainMenu2.RightToLeft = RightToLeft.Yes
    End If
End Sub

注釈

このメソッドを使用して、 MainMenu. このメソッドを使用すると、a に格納されている MainMenu メニュー構造を新しい MainMenu基盤として再利用できます。 たとえば、既存MainMenuのメニュー項目と同じメニュー項目を含むメニュー構造を作成し、追加MenuItemのオブジェクトを追加する場合は、メソッドをCloneMenu使用して元MainMenuのオブジェクトのコピーを作成し、複製したMainMenuオブジェクトに新しいMenuItemオブジェクトを追加できます。

適用対象