Condividi tramite


Procedura: associare un menu di scelta rapida a un componente NotifyIcon di Windows Form

Nota

Anche se MenuStrip e sostituire e ContextMenuStrip aggiungere funzionalità ai MainMenu controlli e ContextMenu delle versioni precedenti, MainMenu e ContextMenu vengono mantenute sia per la compatibilità con le versioni precedenti che per l'uso futuro, se si sceglie.

Il NotifyIcon componente visualizza un'icona nell'area di notifica dello stato della barra delle applicazioni. In genere, le applicazioni consentono di fare clic con il pulsante destro del mouse su questa icona per inviare comandi all'applicazione rappresentata. Associando un ContextMenu componente al NotifyIcon componente, è possibile aggiungere questa funzionalità alle applicazioni.

Nota

Se si desidera ridurre al minimo l'applicazione all'avvio durante la NotifyIcon visualizzazione di un'istanza del componente nella barra delle applicazioni, impostare la proprietà del WindowState modulo principale su Minimized e assicurarsi che la NotifyIcon proprietà del Visible componente sia impostata su true.

Per associare un menu di scelta rapida al componente NotifyIcon in fase di progettazione

  1. Aggiungere un NotifyIcon componente al modulo e impostare le proprietà importanti, ad esempio le Icon proprietà e Visible .

    Per altre informazioni, vedere Procedura: Aggiungere icone dell'applicazione alla barra delle applicazioni con il componente NotifyIcon Windows Form.

  2. Aggiungere un ContextMenu componente a Windows Form.

    Aggiungere voci di menu al menu di scelta rapida che rappresenta i comandi da rendere disponibili in fase di esecuzione. Questo è anche un buon momento per aggiungere miglioramenti del menu a queste voci di menu, ad esempio i tasti di scelta.

  3. Impostare la ContextMenu proprietà del NotifyIcon componente sul menu di scelta rapida aggiunto.

    Con questa proprietà impostata, il menu di scelta rapida verrà visualizzato quando si fa clic sull'icona sulla barra delle applicazioni.

Per associare un menu di scelta rapida al componente NotifyIcon a livello di codice

  1. Creare un'istanza della NotifyIcon classe e una ContextMenu classe, con le impostazioni di proprietà necessarie per l'applicazione (Icon e Visible le proprietà per il NotifyIcon componente, voci di menu per il ContextMenu componente).

  2. Impostare la ContextMenu proprietà del NotifyIcon componente sul menu di scelta rapida aggiunto.

    Con questa proprietà impostata, il menu di scelta rapida verrà visualizzato quando si fa clic sull'icona sulla barra delle applicazioni.

    Nota

    Nell'esempio di codice seguente viene creata una struttura di menu di base. Sarà necessario personalizzare le opzioni di menu in base a quelle che si adattano all'applicazione in fase di sviluppo. Inoltre, è necessario scrivere codice per gestire gli Click eventi per queste voci di menu.

    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

È necessario inizializzare notifyIcon1 e contextMenu1, che è possibile eseguire includendo le istruzioni seguenti nel costruttore del modulo:

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

Vedi anche