Show / Hide Table of Contents

Практическое руководство. Связывание контекстного меню с компонентом NotifyIcon в Windows Forms

Note

Несмотря на то что MenuStrip и ContextMenuStrip заменяют и расширяют функциональные возможности для MainMenu и ContextMenu элементы управления из предыдущих версий MainMenu и ContextMenu можно сохранить для обратной совместимости и использования в будущем, если выбран.

NotifyIcon Компонента в области уведомлений панели задач отображается значок. Как правило приложения позволяют щелкните правой кнопкой мыши этот значок, чтобы отправлять команды в приложение, которое она представляет. Связав ContextMenu компонент NotifyIcon компонент, эти функции можно добавить в приложения.

Note

Если требуется обновлять приложение, чтобы свести к минимуму во время запуска при отображении экземпляра NotifyIcon набор компонентов на панели задач главной формы WindowState свойства Minimized и убедитесь, что NotifyIcon компонента Visible свойство имеет значение true.

Чтобы связать контекстное меню с компонентом NotifyIcon во время разработки

  1. Добавить NotifyIcon форму, компоненты и установить важные свойства, такие как Icon и Visible свойства.

    Дополнительные сведения см. в разделе Как Добавление значков приложения на панель задач с Windows Forms компонентом NotifyIcon.

  2. Добавление ContextMenu компонента в форму Windows.

    Добавление элементов меню в контекстное меню, представляющий команды, что вы хотите сделать доступными во время выполнения. Это хорошая возможность добавить меню усовершенствования этих пунктов меню, таких как ключи доступа.

  3. Задайте ContextMenu свойство NotifyIcon компонент в контекстном меню, который был добавлен.

    При щелчке значка на панели задач, отображается в контекстном меню.

Чтобы связать контекстное меню с компонентом NotifyIcon программным способом

  1. Создайте экземпляр NotifyIcon класс и ContextMenu класса, независимо от параметров свойств, необходимые для приложения (Icon и Visible свойства NotifyIcon компонент, пункты меню для ContextMenu компонент).

  2. Задайте ContextMenu свойство NotifyIcon компонент в контекстном меню, который был добавлен.

    При щелчке значка на панели задач, отображается в контекстном меню.

    Note

    В следующем примере кода создается базовая структура меню. Необходимо будет настроить доступные меню, разрабатываемого приложения вы разрабатываете. Кроме того, необходимо написать код для обработки 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;  
   }  
Note

Необходимо инициализировать notifyIcon1 и contextMenu1, что можно сделать, включив следующие инструкции в конструктор формы:

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

См. также

  • NotifyIcon
  • Icon
  • Практическое руководство. Добавление значков приложения на панель задач с помощью компонента NotifyIcon в Windows Forms
  • Компонент NotifyIcon
  • Общие сведения о компоненте управления NotifyIcon
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX