Cómo: Asociar un menú contextual con un componente NotifyIcon de formularios Windows FormsHow to: Associate a Shortcut Menu with a Windows Forms NotifyIcon Component

Nota

Aunque MenuStrip y ContextMenuStrip reemplazar y agregar funcionalidad a la MainMenu y ContextMenu controles de versiones anteriores, MainMenu y ContextMenu se conservan por compatibilidad con versiones anteriores y uso futuro, si elige.Although MenuStrip and ContextMenuStrip replace and add functionality to the MainMenu and ContextMenu controls of previous versions, MainMenu and ContextMenu are retained for both backward compatibility and future use if you choose.

El NotifyIcon componente muestra un icono en el área de notificación de estado de la barra de tareas.The NotifyIcon component displays an icon in the status notification area of the taskbar. Normalmente, las aplicaciones permiten haga clic en este icono para enviar comandos a la aplicación que representa.Commonly, applications enable you to right-click this icon to send commands to the application it represents. Asociando un ContextMenu componente con el NotifyIcon , componente, puede agregar esta funcionalidad a sus aplicaciones.By associating a ContextMenu component with the NotifyIcon component, you can add this functionality to your applications.

Nota

Si desea que la aplicación a reducirse durante el inicio al mostrar una instancia de la NotifyIcon conjunto de componentes en la barra de tareas, el formulario principal WindowState propiedad Minimized y asegúrese del NotifyIcon del componente Visible propiedad se establece en true.If you want your application to be minimized at startup while displaying an instance of the NotifyIcon component in the taskbar, set the main form's WindowState property to Minimized and be sure the NotifyIcon component's Visible property is set to true.

Para asociar un menú contextual con el componente NotifyIcon en tiempo de diseñoTo associate a shortcut menu with the NotifyIcon component at design time

  1. Agregar un NotifyIcon componente al formulario y establezca las propiedades importantes, como la Icon y Visible propiedades.Add a NotifyIcon component to your form, and set the important properties, such as the Icon and Visible properties.

    Para obtener más información, consulte Cómo: agregar iconos de aplicación a la barra de tareas con el componente NotifyIcon de formularios Windows Forms.For more information, see How to: Add Application Icons to the TaskBar with the Windows Forms NotifyIcon Component.

  2. Agregar un ContextMenu componente al formulario Windows Forms.Add a ContextMenu component to your Windows Form.

    Agregar elementos de menú al menú contextual que representa los comandos que desea que estén disponibles en tiempo de ejecución.Add menu items to the shortcut menu representing the commands you want to make available at run time. También es un buen momento para agregar mejoras a estos elementos de menú, como teclas de acceso.This is also a good time to add menu enhancements to these menu items, such as access keys.

  3. Establecer el ContextMenu propiedad de la NotifyIcon componente en el menú contextual que agregó.Set the ContextMenu property of the NotifyIcon component to the shortcut menu that you added.

    Con este conjunto de propiedades, se mostrará el menú contextual cuando se hace clic en el icono de la barra de tareas.With this property set, the shortcut menu will be displayed when the icon on the taskbar is clicked.

Para asociar un menú contextual con el componente NotifyIcon mediante programaciónTo associate a shortcut menu with the NotifyIcon component programmatically

  1. Cree una instancia de la NotifyIcon clase y un ContextMenu (clase), con los valores de las propiedades necesarios para la aplicación (Icon y Visible propiedades para la NotifyIcon componente, elementos de menú para el ContextMenu componente).Create an instance of the NotifyIcon class and a ContextMenu class, with whatever property settings are necessary for the application (Icon and Visible properties for the NotifyIcon component, menu items for the ContextMenu component).

  2. Establecer el ContextMenu propiedad de la NotifyIcon componente en el menú contextual que agregó.Set the ContextMenu property of the NotifyIcon component to the shortcut menu that you added.

    Con este conjunto de propiedades, se mostrará el menú contextual cuando se hace clic en el icono de la barra de tareas.With this property set, the shortcut menu will be displayed when the icon on the taskbar is clicked.

    Nota

    En el ejemplo de código siguiente se crea una estructura de menú básica.The following code example creates a basic menu structure. Debe personalizar las opciones de menú a los que se ajusten a la aplicación que está desarrollando.You will need to customize the menu choices to those that fit the application you are developing. Además, desea escribir código para controlar la Click eventos para estos elementos de menú.Additionally, you will want to write code to handle the Click events for these menu items.

    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;  
   }  

Nota

Debe inicializar notifyIcon1 y contextMenu1, lo que puede hacer mediante la inclusión de las siguientes instrucciones en el constructor del formulario:You must initialize notifyIcon1 and contextMenu1, which you can do by including the following statements in the constructor of your form:

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

Vea tambiénSee Also

NotifyIcon
Icon
Agregar iconos de aplicación a la barra de tareas con el componente NotifyIcon de formularios Windows FormsHow to: Add Application Icons to the TaskBar with the Windows Forms NotifyIcon Component
NotifyIcon (componente)NotifyIcon Component
Información general sobre el componente NotifyIconNotifyIcon Component Overview