다음을 통해 공유


Menu 클래스

모든 메뉴의 기본 기능을 나타냅니다. ToolStripDropDownToolStripDropDownMenuMenu 컨트롤에 새로운 기능이 추가된 것으로, 이전 컨트롤 버전을 대체합니다. 그러나 이전 버전과의 호환성 및 앞으로의 사용 가능성을 고려하여 Menu를 유지하도록 선택할 수 있습니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public MustInherit Class Menu
    Inherits Component
‘사용 방법
Dim instance As Menu
public abstract class Menu : Component
public ref class Menu abstract : public Component
public abstract class Menu extends Component
public abstract class Menu extends Component

설명

이 클래스는 MainMenu, MenuItemContextMenu 클래스의 기본 클래스입니다. 이 클래스의 인스턴스를 만들 수 없습니다. 응용 프로그램의 메뉴는 MenuItem 개체로 구성됩니다. 여기에는 하위 메뉴 항목을 나타내는 다른 MenuItem 개체가 포함될 수 있습니다. MenuItem 개체는 폼의 전체 메뉴 구조로 표시하기 위해 MainMenu에 저장되거나, 바로 가기 메뉴를 표시하는 데 사용되는 ContextMenu에 저장될 수 있습니다. 이 클래스는 모든 메뉴 클래스에 공통되는 기능을 제공합니다.

대부분의 기본 클래스와 달리, Menu 클래스에서는 파생 클래스를 사용하여 다양한 속성을 정의합니다. MDI(다중 문서 인터페이스) 응용 프로그램에서 메뉴를 사용할 경우, MdiListItem 속성을 사용하여 응용 프로그램에 열린 MDI 자식 폼의 목록을 표시하는 MenuItem을 지정할 수 있습니다. MenuItems 속성에는 메뉴 클래스에 저장된 MenuItem 개체의 목록이 들어 있습니다. MainMenu 또는 ContextMenu의 경우, 이 속성에는 표시되는 MenuItem 개체가 모두 들어 있습니다. MenuItem의 경우, MenuItems 속성은 해당 메뉴 항목과 관련된 하위 메뉴 항목을 나타냅니다.

Menu 클래스에서는 파생된 메뉴 클래스 전체에 대해 제공되는 속성뿐 아니라, 기존 메뉴에서 새 메뉴를 만들고 두 메뉴 구조를 병합할 수 있는 CloneMenu, MergeMenu 등의 메서드도 제공합니다.

또한 Menu 클래스는 중첩 클래스 Menu.MenuItemCollection도 정의합니다. 이 클래스는 MenuItems 속성에 사용되는 MenuItem 개체의 컬렉션을 정의합니다. Menu.MenuItemCollection 클래스의 메서드를 사용하여 MainMenu, ContextMenu 또는 MenuItem에 메뉴 항목을 추가하거나 제거할 수 있습니다.

예제

다음 코드 예제에서는 파생 클래스인 MenuItem을 사용하여 폼의 메뉴 구조를 만듭니다. 이 예제 코드에서는 MenuItem을 추가하여 최상위 메뉴 항목을 나타내고, 이 메뉴 항목에 글꼴 크기를 선택하는 하위 메뉴 항목을 추가한 다음, 응용 프로그램에 큰 글꼴 및 작은 글꼴 선택 옵션을 나타내는 두 개의 하위 메뉴 항목을 그 메뉴 항목에 추가합니다. 이 예제에서는 mainMenu1이라는 MainMenu 개체가 있어야 하고 menuItem1, menuItem2, menuItem3menuItem4라는 네 개의 MenuItem 개체가 있어야 합니다.

Public Sub CreateMyMenu()
    ' Set the caption for the top-level menu item.
    menuItem1.Text = "Edit"
    ' Set the caption for the first submenu.
    menuItem2.Text = "Font Size"
    ' Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small"
    ' Set the checked property to true since this is the default value.
    menuItem3.Checked = True
    ' Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS
    ' Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large"
    ' Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL
    ' Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1
    ' Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3)
    menuItem2.MenuItems.Add(menuItem4)
    ' Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2)
    ' Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1)
End Sub
public void CreateMyMenu()
    {
    // Set the caption for the top-level menu item.
    menuItem1.Text = "Edit";
    // Set the caption for the first submenu.
    menuItem2.Text = "Font Size";
    // Set the caption for menuItem2's first submenu.
    menuItem3.Text = "Small";
    // Set the checked property to true since this is the default value.
    menuItem3.Checked = true;
    // Define a shortcut key combination for the menu item.
    menuItem3.Shortcut = Shortcut.CtrlS;
    // Set the caption of the second sub menu item of menuItem2.
    menuItem4.Text = "Large";
    // Define a shortcut key combination for the menu item.
    menuItem4.Shortcut = Shortcut.CtrlL;
    // Set the index of the menu item so it is placed below the first submenu item.
    menuItem4.Index = 1;
    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.MenuItems.Add(menuItem3);
    menuItem2.MenuItems.Add(menuItem4);
    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1.MenuItems.Add(menuItem2);
    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1.MenuItems.Add(menuItem1);
    }
public:
   void CreateMyMenu()
   {
      // Set the caption for the top-level menu item.
      menuItem1->Text = "Edit";
      // Set the caption for the first submenu.
      menuItem2->Text = "Font Size";
      // Set the caption for menuItem2's first submenu.
      menuItem3->Text = "Small";
      // Set the checked property to true since this is the default value.
      menuItem3->Checked = true;
      // Define a shortcut key combination for the menu item.
      menuItem3->Shortcut = Shortcut::CtrlS;
      // Set the caption of the second sub menu item of menuItem2.
      menuItem4->Text = "Large";
      // Define a shortcut key combination for the menu item.
      menuItem4->Shortcut = Shortcut::CtrlL;
      // Set the index of the menu item so it is placed below the first submenu item.
      menuItem4->Index = 1;
      // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
      menuItem2->MenuItems->Add( menuItem3 );
      menuItem2->MenuItems->Add( menuItem4 );
      // Add menuItem2 to menuItem1's list of menu items.
      menuItem1->MenuItems->Add( menuItem2 );
      // Add menuItem1 to the MainMenu for displaying.
      mainMenu1->MenuItems->Add( menuItem1 );
   }
public void CreateMyMenu()
{
    // Set the caption for the top-level menu item.
    menuItem1.set_Text("Edit");

    // Set the caption for the first submenu.
    menuItem2.set_Text("Font Size");

    // Set the caption for menuItem2's first submenu.
    menuItem3.set_Text("Small");

    // Set the checked property to true since this is the default value.
    menuItem3.set_Checked(true);

    // Define a shortcut key combination for the menu item.
    menuItem3.set_Shortcut(Shortcut.CtrlS);

    // Set the caption of the second sub menu item of menuItem2.
    menuItem4.set_Text("Large");

    // Define a shortcut key combination for the menu item.
    menuItem4.set_Shortcut(Shortcut.CtrlL);

    // Set the index of the menu item so it is placed below
    //the first submenu item.
    menuItem4.set_Index(1);

    // Add menuItem3 and menuItem4 to menuItem2's list of menu items.
    menuItem2.get_MenuItems().Add(menuItem3);
    menuItem2.get_MenuItems().Add(menuItem4);

    // Add menuItem2 to menuItem1's list of menu items.
    menuItem1.get_MenuItems().Add(menuItem2);

    // Add menuItem1 to the MainMenu for displaying.
    mainMenu1.get_MenuItems().Add(menuItem1);
} //CreateMyMenu

상속 계층 구조

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Windows.Forms.Menu
         System.Windows.Forms.ContextMenu
         System.Windows.Forms.MainMenu
         System.Windows.Forms.MenuItem

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Menu 멤버
System.Windows.Forms 네임스페이스
MainMenu 클래스
ContextMenu 클래스
MenuItem