Sdílet prostřednictvím


Postupy: Přidružení místní nabídky k součásti Windows Forms NotifyIcon

Poznámka:

I když MenuStrip a ContextMenuStrip nahraďte a přidejte funkce do MainMenu a ContextMenu ovládacích prvků předchozích verzí MainMenu a ContextMenu zachovávají se pro zpětnou kompatibilitu i budoucí použití, pokud zvolíte.

Komponenta NotifyIcon zobrazí ikonu v oznamovací oblasti stavu na hlavním panelu. Aplikace běžně umožňují po kliknutí pravým tlačítkem myši na tuto ikonu odesílat příkazy do aplikace, kterou představuje. Přidružením ContextMenu komponenty ke komponentě NotifyIcon můžete tuto funkci přidat do svých aplikací.

Poznámka:

Pokud chcete, aby byla aplikace při spuštění při zobrazení instance NotifyIcon komponenty na hlavním panelu minimalizovaná, nastavte vlastnost hlavního WindowState formuláře na Minimized vlastnost a ujistěte NotifyIcon se, že je vlastnost komponenty Visible nastavena na true.

Přidružení místní nabídky ke komponentě NotifyIcon v době návrhu

  1. Přidejte do formuláře komponentu NotifyIcon a nastavte důležité vlastnosti, například vlastnosti Icon a Visible vlastnosti.

    Další informace naleznete v tématu Postupy: Přidání ikon aplikace na taskBar pomocí komponenty model Windows Forms NotifyIcon.

  2. Přidejte do formuláře Windows Form komponentu ContextMenu .

    Přidejte položky nabídky do místní nabídky představující příkazy, které chcete zpřístupnit za běhu. Je také vhodné přidat do těchto položek nabídky vylepšení nabídky, jako jsou přístupové klávesy.

  3. ContextMenu Nastavte vlastnost NotifyIcon komponenty na místní nabídku, kterou jste přidali.

    Když je tato sada vlastností nastavená, zobrazí se místní nabídka po kliknutí na ikonu na hlavním panelu.

Přidružení místní nabídky k komponentě NotifyIcon prostřednictvím kódu programu

  1. Vytvořte instanci NotifyIcon třídy a ContextMenu třídy s jakýmkoli nastavením vlastnosti, které jsou nezbytné pro aplikaci (Icon a Visible vlastnosti komponenty NotifyIcon , položky nabídky pro komponentu ContextMenu ).

  2. ContextMenu Nastavte vlastnost NotifyIcon komponenty na místní nabídku, kterou jste přidali.

    Když je tato sada vlastností nastavená, zobrazí se místní nabídka po kliknutí na ikonu na hlavním panelu.

    Poznámka:

    Následující příklad kódu vytvoří základní strukturu nabídek. Možnosti nabídky budete muset přizpůsobit těm, které odpovídají aplikaci, kterou vyvíjíte. Kromě toho budete chtít napsat kód pro zpracování Click událostí pro tyto položky nabídky.

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

Poznámka:

Musíte inicializovat notifyIcon1 a contextMenu1, které můžete provést zahrnutím následujících příkazů do konstruktoru formuláře:

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

Viz také