Delen via


Procedure: Een snelmenu koppelen aan een Windows Forms NotifyIcon-onderdeel

Notitie

Hoewel MenuStrip en ContextMenuStrip de functionaliteit van de besturingselementen MainMenu en ContextMenu van eerdere versies vervangen en toevoegen, blijven MainMenu en ContextMenu behouden voor zowel achterwaartse compatibiliteit als toekomstig gebruik indien gewenst.

Het onderdeel NotifyIcon geeft een pictogram weer in het systeemvak van de taakbalk. Normaal gesproken kunt u met de rechtermuisknop op dit pictogram klikken om opdrachten te verzenden naar de toepassing die deze vertegenwoordigt. Door een ContextMenu-onderdeel te koppelen aan het NotifyIcon-onderdeel, kunt u deze functionaliteit toevoegen aan uw toepassingen.

Notitie

Als u wilt dat uw toepassing bij het opstarten wordt geminimaliseerd terwijl een voorbeeld van het NotifyIcon onderdeel op de taakbalk wordt weergegeven, stel dan de WindowState-eigenschap van het hoofdformulier in op Minimized en zorg ervoor dat de Visible-eigenschap van het NotifyIcon-onderdeel is ingesteld op true.

Een snelmenu koppelen aan het NotifyIcon-onderdeel tijdens het ontwerp

  1. Voeg een NotifyIcon-onderdeel toe aan uw formulier en stel de belangrijke eigenschappen in, zoals de eigenschappen Icon en Visible.

    Zie Procedure: Toepassingspictogrammen toevoegen aan de taakbalk met het Windows Forms NotifyIcon Componentvoor meer informatie.

  2. Voeg een ContextMenu-onderdeel toe aan uw Windows-formulier.

    Voeg menu-items toe aan het snelmenu met de opdrachten die u tijdens de runtime beschikbaar wilt maken. Dit is ook een goed moment om menuverbeteringen toe te voegen aan deze menu-items, zoals toegangssleutels.

  3. Stel de eigenschap ContextMenu van het NotifyIcon-onderdeel in op het snelmenu dat u hebt toegevoegd.

    Als deze eigenschap is ingesteld, wordt het snelmenu weergegeven wanneer op het pictogram op de taakbalk wordt geklikt.

Een snelmenu programmatisch koppelen aan het NotifyIcon-onderdeel

  1. Maak een exemplaar van de NotifyIcon-klasse en een ContextMenu-klasse, waarbij alle eigenschapsinstellingen nodig zijn voor de toepassing (Icon en Visible eigenschappen voor het NotifyIcon onderdeel, menu-items voor het ContextMenu-onderdeel).

  2. Stel de eigenschap ContextMenu van het NotifyIcon-onderdeel in op het snelmenu dat u hebt toegevoegd.

    Als deze eigenschap is ingesteld, wordt het snelmenu weergegeven wanneer op het pictogram op de taakbalk wordt geklikt.

    Notitie

    In het volgende codevoorbeeld wordt een basismenustructuur gemaakt. U moet de menuopties aanpassen aan de opties die passen bij de toepassing die u ontwikkelt. Daarnaast wilt u code schrijven om de Click gebeurtenissen voor deze menu-items af te handelen.

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

Notitie

U moet notifyIcon1 en contextMenu1, initialiseren, wat u kunt doen door de volgende instructies op te nemen in de constructor van uw formulier:

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

Zie ook