내보내기(0) 인쇄
모두 확장

Menu 클래스

업데이트: 2007년 11월

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

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

[ListBindableAttribute(false)]
public abstract class Menu : Component
/** @attribute ListBindableAttribute(false) */
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 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


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

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

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Compact Framework

3.5, 2.0, 1.0에서 지원

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft