Dela via


Anvisningar: Associera en snabbmeny med en NotifyIcon-komponent för Windows-formulär

Anmärkning

Även om MenuStrip och ContextMenuStrip ersätter och lägger till funktionalitet i kontrollerna MainMenu och ContextMenu från tidigare versioner, behålls MainMenu och ContextMenu för både bakåtkompatibilitet och framtida användning om du så önskar.

Komponenten NotifyIcon visar en ikon i statusmeddelandeområdet i aktivitetsfältet. Vanligtvis gör program att du kan högerklicka på den här ikonen för att skicka kommandon till det program som det representerar. Genom att associera en ContextMenu komponent med komponenten NotifyIcon kan du lägga till den här funktionen i dina program.

Anmärkning

Om du vill att programmet ska minimeras vid start när du visar en instans av komponenten NotifyIcon i aktivitetsfältet anger du huvudformulärets egenskap WindowState till Minimized och kontrollerar att NotifyIcon komponentens egenskap Visible är inställd på true.

Så här associerar du en snabbmeny med NotifyIcon-komponenten vid designtillfället

  1. Lägg till en NotifyIcon komponent i formuläret och ange viktiga egenskaper, till exempel egenskaperna Icon och Visible.

    För mer information, se Hur du: Lägg till applikationsikoner i aktivitetsfältet med Windows Forms NotifyIcon-komponenten.

  2. Lägg till en ContextMenu komponent i ditt Windows-formulär.

    Lägg till menyalternativ på snabbmenyn som representerar de kommandon som du vill göra tillgängliga vid körning. Det här är också ett bra tillfälle att lägga till menyförbättringar i dessa menyalternativ, till exempel åtkomstnycklar.

  3. Ange egenskapen ContextMenu för komponenten NotifyIcon till snabbmenyn som du har lagt till.

    Med den här egenskapen inställd visas snabbmenyn när ikonen i aktivitetsfältet klickas.

Så här associerar du en snabbmeny med NotifyIcon-komponenten programmatiskt

  1. Skapa en instans av klassen NotifyIcon och en ContextMenu-klass, med de egenskapsinställningar som krävs för programmet (Icon och Visible egenskaper för NotifyIcon komponenten, menyalternativ för ContextMenu komponenten).

  2. Ange egenskapen ContextMenu för komponenten NotifyIcon till snabbmenyn som du har lagt till.

    Med den här egenskapen inställd visas snabbmenyn när ikonen i aktivitetsfältet klickas.

    Anmärkning

    I följande kodexempel skapas en grundläggande menystruktur. Du måste anpassa menyalternativen till dem som passar det program som du utvecklar. Dessutom vill du skriva kod för att hantera Click händelser för dessa menyalternativ.

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

Anmärkning

Du måste initiera notifyIcon1 och contextMenu1, vilket du kan göra genom att lägga till följande kod i konstruktorn för ditt formulär.

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

Se även