자세히 보기: 메뉴 추가 정보

업데이트: 2007년 11월

이 단원에서는 런타임에 메뉴를 활성화 또는 비활성화하는 방법과 팝업 메뉴를 만드는 방법을 배웁니다.

이전 단원에서는 MenuStrip 컨트롤을 사용하여 프로그램과 관련하여 사용자가 선택할 수 있는 메뉴를 만드는 방법을 배웠습니다. 그러나 선택 항목을 특정 시점에만 사용할 수 있는 경우도 있습니다. 예를 들어 복사 메뉴 명령은 복사할 수 있는 대상이 있는 경우에만 사용할 수 있습니다.

대부분의 프로그램에서는 사용할 수 없는 메뉴 명령을 숨기지 않고 비활성화합니다. 메뉴 항목이 비활성화되면 메뉴 텍스트의 색이 회색으로 변경되고 메뉴 항목을 클릭해도 아무런 작업이 수행되지 않습니다. MenuStrip 컨트롤을 사용하는 경우 MenuItemEnabled 속성을 사용하여 메뉴 항목을 활성화 및 비활성화할 수 있습니다.

실습

메뉴 항목을 활성화 또는 비활성화하려면

  1. 파일 메뉴에서 새로 만들기, 프로젝트를 차례로 클릭합니다.

  2. 새 프로젝트 대화 상자의 템플릿 창에서 Windows Forms 응용 프로그램을 클릭합니다.

  3. 이름 상자에 Menus2를 입력한 다음 확인을 클릭합니다.

    새 Windows Forms 프로젝트가 열립니다.

  4. 도구 상자에서 MenuStrip 컨트롤 및 TextBox 컨트롤을 폼으로 끌어 옵니다.

  5. 폼에서 MenuStrip 컨트롤을 클릭하고 Edit, 을 입력한 다음 Enter 키를 누릅니다.

  6. 첫 번째 상자 아래의 상자에 Copy를 입력한 다음 Enter 키를 누릅니다.

  7. 속성 창에서 CopyToolStripMenuItem의 Enabled 속성을 False로 설정합니다.

  8. TextBox 컨트롤을 두 번 클릭하여 코드 편집기를 엽니다.

  9. TextBox1_TextChanged 이벤트 처리기에서 다음 코드를 입력합니다.

    If Textbox1.Text <> "" Then
      CopyToolStripMenuItem.Enabled = True
    Else
      CopyToolStripMenuItem.Enabled = False
    End If
    
  10. F5 키를 눌러 프로그램을 실행합니다. Edit 메뉴를 클릭합니다. Copy 메뉴 항목은 현재 비활성화되어 있습니다. TextBox 컨트롤에 내용을 입력한 다음 Edit 메뉴를 다시 클릭하면 Copy 메뉴 항목이 활성화됩니다.

팝업 메뉴 만들기

대부분의 프로그램에는 자주 사용하는 명령에 손쉽게 액세스할 수 있는 팝업 메뉴가 사용되는데 이러한 메뉴를 상황에 맞는 메뉴라고도 합니다. 상황에 맞는 메뉴는 런타임에 폼 또는 컨트롤을 마우스 오른쪽 단추로 클릭하여 액세스합니다. Visual Basic에서는 ContextMenuStrip 컨트롤을 사용하여 상황에 맞는 메뉴를 직접 만들 수 있습니다.

MenuStrip 컨트롤의 경우와 마찬가지로 ContextMenuStrip 컨트롤을 폼으로 끌어 오면 ContextMenuStrip 컨트롤은 "여기에 입력"이라는 텍스트와 함께 폼의 위쪽 부분에 상자로 나타나며 아이콘이 구성 요소 트레이에 추가됩니다. 그러나 MenuStrip과 달리 첫 번째 메뉴 항목 아래에만 항목을 추가하여 세로 메뉴만 만들 수 있습니다.

또한 ContextMenuStrip은 이를 표시하려는 폼 또는 컨트롤과 연결해야 합니다. 이렇게 하려면 폼 또는 컨트롤의 ContextMenuStrip 속성을 ContextMenuStrip 컨트롤의 이름으로 설정합니다. 단일 ContextMenuStrip은 원하는 만큼 많은 컨트롤과 연결할 수 있습니다.

실습

상황에 맞는 메뉴를 만들려면

  1. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

  2. 새 프로젝트 대화 상자의 템플릿 창에서 Windows Forms 응용 프로그램을 클릭합니다.

  3. 이름 상자에 ContextMenus를 입력한 다음 확인을 클릭합니다.

    새 Windows Forms 프로젝트가 열립니다.

  4. 도구 상자에서 ContextMenuStrip 컨트롤을 폼으로 끌어 옵니다.

  5. 디자인 뷰에서 폼을 클릭합니다. 속성 창에서 폼의 ContextMenuStrip 속성을 선택하고 드롭다운 목록에서 ContextMenuStrip1을 클릭합니다.

  6. 폼에서 ContextMenuStrip 컨트롤을 클릭하고 Option1을 입력한 다음 Enter 키를 누릅니다.

  7. 첫 번째 상자 아래의 상자에 Option2를 입력한 다음 Enter 키를 누릅니다.

  8. Option1 메뉴 항목을 두 번 클릭하여 코드 편집기를 엽니다.

  9. Option1ToolStripMenuItem_Click 이벤트 처리기에서 다음 코드를 입력합니다.

    MsgBox("You chose Option 1")
    
  10. 코드 편집기의 왼쪽 드롭다운 상자에서 Option2ToolStripMenuItem을 선택한 다음 오른쪽 드롭다운 상자에서 Click을 선택합니다.

    코드 편집기에 Option2ToolStripMenuItem_Click이라는 새 이벤트 처리기가 나타납니다.

  11. Option2ToolStripMenuItem_Click 이벤트 처리기에 다음 코드를 입력합니다.

    MsgBox("You chose Option 2")
    
  12. F5 키를 눌러 프로그램을 실행합니다. 폼을 마우스 오른쪽 단추로 클릭하여 상황에 맞는 메뉴 항목 중 하나를 클릭하면 선택한 옵션을 알려 주는 메시지 상자가 나타납니다.

다음 단계

이 단원에서는 메뉴를 활성화 및 비활성화하는 방법과 상황에 맞는 메뉴를 만드는 방법을 배웠습니다. 다음 항목에서는 Timer 같은 다른 컨트롤 형식을 사용하여 작업을 수행하는 방법을 배웁니다.

다음 단원: 타이머를 사용하여 정기적인 작업 수행

참고 항목

작업

사용자에게 선택 기능 제공: 디자인 타임에 메뉴 만들기

방법: ContextMenuStrip과 컨트롤 연결

참조

MenuStrip 컨트롤 개요(Windows Forms)