Condividi tramite


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

Nota

Benché MenuStrip e ContextMenuStrip sostituiscano i controlli MainMenu e ContextMenu delle versioni precedenti aggiungendovi funzionalità, MainMenu e ContextMenu vengono mantenuti per compatibilità con le versioni precedenti e per un eventuale utilizzo futuro.

Il componente NotifyIcon consente di visualizzare un'icona nell'area di notifica dello stato della barra delle applicazioni. Le applicazioni consentono in genere di fare clic con il pulsante destro del mouse su questa icona per inviare comandi all'applicazione da essa rappresentata. Se si associa un componente ContextMenu al componente NotifyIcon, è possibile aggiungere questa funzionalità alle applicazioni.

Nota

Se si desidera ridurre l'applicazione a icona all'avvio e visualizzare un'istanza del componente NotifyIcon nella barra delle applicazioni, impostare la proprietà WindowState del form principale su Minimized e assicurarsi che la proprietà Visible del componente NotifyIcon sia impostata su true.

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

  1. Aggiungere un componente NotifyIcon al form e impostare le proprietà importanti, quali Icon e Visible.

    Per ulteriori informazioni, vedere Procedura: aggiungere icone alla barra delle applicazioni mediante il componente NotifyIcon Windows Form.

  2. Aggiungere un componente ContextMenu al form Windows Form.

    Aggiungere al menu di scelta rapida voci che rappresentano i comandi da rendere disponibili in fase di esecuzione. In questa fase è consigliabile anche aggiungere elementi per il perfezionamento dei menu, quali i tasti di scelta.

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

    Una volta che si è impostata la proprietà, il menu di scelta rapida viene visualizzato quando si fa clic sull'icona della barra delle applicazioni.

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

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

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

    Una volta che si è impostata la proprietà, il menu di scelta rapida viene visualizzato quando si fa clic sull'icona della barra delle applicazioni.

    Nota

    L'esempio di codice seguente consente di creare una struttura di menu di base. Personalizzare le scelte di menu in base a quelle necessarie per l'applicazione sviluppata. Potrebbe inoltre essere necessario scrivere il codice per gestire gli eventi Click per tali 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 NotifyIcon notifyIcon1 = new NotifyIcon();
public ContextMenu contextMenu1 = new ContextMenu();

public void createIconMenuStructure()
{
   // Add menu items to shortcut menu.
   contextMenu1.get_MenuItems().Add("&Open Application");
   contextMenu1.get_MenuItems().Add("S&uspend Application");
   contextMenu1.get_MenuItems().Add("E&xit");

   // Set properties of NotifyIcon component.
   notifyIcon1.set_Icon(new System.Drawing.Icon
      (System.Environment.GetFolderPath
      (System.Environment.SpecialFolder.Personal)
      + "\\Icon.ico"));
   notifyIcon1.set_Text("Right-click me!");
   notifyIcon1.set_Visible(true);
   notifyIcon1.set_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,. Per effettuare questa operazione, includere le seguenti istruzioni nel costruttore del form:

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

Vedere anche

Attività

Procedura: aggiungere icone alla barra delle applicazioni mediante il componente NotifyIcon Windows Form

Riferimenti

Cenni preliminari sul componente NotifyIcon (Windows Form)

NotifyIcon

Icon

Altre risorse

Componente NotifyIcon (Windows Form)