다음을 통해 공유


방법: Windows Forms NotifyIcon 구성 요소에 바로 가기 메뉴 연결

참고

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

NotifyIcon 구성 요소는 작업 표시줄의 상태 알림 영역에 아이콘을 표시합니다. 일반적으로 애플리케이션을 사용하면 이 아이콘을 마우스 오른쪽 단추로 클릭하여 나타내는 애플리케이션에 명령을 보낼 수 있습니다. ContextMenu 구성 요소를 NotifyIcon 구성 요소와 연결하여 이 기능을 애플리케이션에 추가할 수 있습니다.

참고

작업 표시줄에 NotifyIcon 구성 요소의 인스턴스를 표시하는 동안 시작 시 애플리케이션을 최소화하려면 기본 폼의 WindowState 속성을 Minimized(으)로 설정하고 NotifyIcon 구성 요소의 Visible 속성이 true(으)로 설정되었는지 확인합니다.

디자인 타임에 NotifyIcon 구성 요소와 바로 가기 메뉴를 연결하려면

  1. 폼에 NotifyIcon 구성 요소를 추가하고, IconVisible 속성과 같은 중요한 속성을 설정합니다.

    자세한 내용은 방법: Windows Forms NotifyIcon 구성 요소를 사용하여 작업 표시줄에 애플리케이션 아이콘 추가를 참조하세요.

  2. ContextMenuWindows 양식에 구성 요소를 추가합니다.

    런타임에 사용할 수 있도록 하려는 명령을 나타내는 바로 가기 메뉴에 메뉴 항목을 추가합니다. 또한 액세스 키와 같은 메뉴 항목에 메뉴 개선 사항을 추가하는 것도 좋습니다.

  3. NotifyIcon 구성 요소의 ContextMenu 속성을 추가한 바로 가기 메뉴로 설정합니다.

    이 속성을 설정하면 작업 표시줄의 아이콘을 클릭하면 바로 가기 메뉴가 표시됩니다.

프로그래밍 방식으로 NotifyIcon 구성 요소와 바로 가기 메뉴를 연결하려면

  1. 애플리케이션에 필요한 속성 설정(및 NotifyIcon 구성 요소의 IconVisible 속성, ContextMenu 구성 요소의 메뉴 항목)을 사용하여 NotifyIcon 클래스 및 ContextMenu 클래스의 인스턴스를 만듭니다.

  2. NotifyIcon 구성 요소의 ContextMenu 속성을 추가한 바로 가기 메뉴로 설정합니다.

    이 속성을 설정하면 작업 표시줄의 아이콘을 클릭하면 바로 가기 메뉴가 표시됩니다.

    참고

    다음 코드 예제에서는 기본 메뉴 구조를 만듭니다. 개발 중인 애플리케이션에 맞게 메뉴 선택을 사용자 지정해야 합니다. 또한 이러한 메뉴 항목에 대한 Click 이벤트를 처리하는 코드를 작성하려고 합니다.

    Public ContextMenu1 As New ContextMenu  
    Public NotifyIcon1 As New NotifyIcon  
    
    Public Sub CreateIconMenuStructure()  
       ' Add menu items to shortcut menu.  
       ContextMenu1.MenuItems.Add("&Open Application")  
       ContextMenu1.MenuItems.Add("S&uspend Application")  
       ContextMenu1.MenuItems.Add("E&xit")  
    
       ' Set properties of NotifyIcon component.  
       NotifyIcon1.Icon = New System.Drawing.Icon _
          (System.Environment.GetFolderPath _
          (System.Environment.SpecialFolder.Personal)  _
          & "\Icon.ico")  
       NotifyIcon1.Text = "Right-click me!"  
       NotifyIcon1.Visible = True  
       NotifyIcon1.ContextMenu = ContextMenu1  
    End Sub  
    
public NotifyIcon notifyIcon1 = new NotifyIcon();  
public ContextMenu contextMenu1 = new ContextMenu();  
  
public void createIconMenuStructure()  
{  
   // Add menu items to shortcut menu.  
   contextMenu1.MenuItems.Add("&Open Application");  
   contextMenu1.MenuItems.Add("S&uspend Application");  
   contextMenu1.MenuItems.Add("E&xit");  
  
   // Set properties of NotifyIcon component.  
   notifyIcon1.Icon = new System.Drawing.Icon  
      (System.Environment.GetFolderPath  
      (System.Environment.SpecialFolder.Personal)  
      + @"\Icon.ico");  
   notifyIcon1.Visible = true;  
   notifyIcon1.Text = "Right-click me!";  
   notifyIcon1.Visible = true;  
   notifyIcon1.ContextMenu = contextMenu1;  
}  
public:  
   System::Windows::Forms::NotifyIcon ^ notifyIcon1;  
   System::Windows::Forms::ContextMenu ^ contextMenu1;  
  
   void createIconMenuStructure()  
   {  
      // Add menu items to shortcut menu.  
      contextMenu1->MenuItems->Add("&Open Application");  
      contextMenu1->MenuItems->Add("S&uspend Application");  
      contextMenu1->MenuItems->Add("E&xit");  
  
      // Set properties of NotifyIcon component.  
      notifyIcon1->Icon = gcnew System::Drawing::Icon  
          (String::Concat(System::Environment::GetFolderPath  
          (System::Environment::SpecialFolder::Personal),  
          "\\Icon.ico"));  
      notifyIcon1->Text = "Right-click me!";  
      notifyIcon1->Visible = true;  
      notifyIcon1->ContextMenu = contextMenu1;  
   }  

참고

양식의 생성자에 다음 문을 포함하여 수행할 수 있는 프로세스 notifyIcon1contextMenu1,를 초기화해야 합니다.

notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon();  
contextMenu1 = gcnew System::Windows::Forms::ContextMenu();  

참고 항목