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
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.
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.
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
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 ).
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é
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro