Procedura: Associare un menu di scelta rapida a un componente NotifyIcon di Windows Form
Nota
Anche se MenuStrip e ContextMenuStrip sostituiscono e aggiungono funzionalità ai controlli MainMenu e ContextMenu delle versioni precedenti, MainMenu e ContextMenu vengono mantenuti sia per la compatibilità con le versioni precedenti che per l'uso futuro, se voi scegliete.
Il componente NotifyIcon visualizza un'icona nell'area di notifica dello stato della barra delle applicazioni. In genere, le applicazioni consentono di fare clic con il pulsante destro del mouse su questa icona per inviare comandi all'applicazione rappresentata. Associando un componente ContextMenu al componente NotifyIcon, è possibile aggiungere questa funzionalità alle applicazioni.
Nota
Se si desidera ridurre al minimo l'applicazione all'avvio mentre si visualizza un'istanza del componente NotifyIcon nella barra delle applicazioni, impostare la proprietà WindowState del modulo 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
Aggiungi un componente NotifyIcon al tuo modulo e imposta le proprietà importanti, come le proprietà Icon e Visible.
Per ulteriori informazioni, vedere Procedura: Aggiungere icone dell'applicazione alla Barra delle applicazioni con il componente NotifyIcon di Windows Forms.
Aggiungere un componente ContextMenu a Windows Form.
Aggiungere voci di menu al menu di scelta rapida che rappresenta i comandi da rendere disponibili in fase di esecuzione. Questo è anche un buon momento per aggiungere miglioramenti alle voci di menu, come i tasti di accesso rapido.
Impostare la proprietà ContextMenu del componente NotifyIcon sul menu di scelta rapida che hai aggiunto.
Con questa proprietà impostata, il menu di scelta rapida verrà visualizzato quando si fa clic sull'icona sulla barra delle applicazioni.
Per associare un menu di scelta rapida al componente NotifyIcon a livello di codice
Creare un'istanza della classe NotifyIcon e una classe ContextMenu, con le impostazioni di proprietà necessarie per l'applicazione (Icon e proprietà Visible per il componente NotifyIcon, voci di menu per il componente ContextMenu).
Imposta la proprietà ContextMenu del componente NotifyIcon sul menu di scelta rapida che hai aggiunto.
Con questa proprietà impostata, il menu di scelta rapida verrà visualizzato quando si fa clic sull'icona sulla barra delle applicazioni.
Nota
Nell'esempio di codice seguente viene creata una struttura di menu di base. Sarà necessario personalizzare le opzioni di menu in base a quelle che si adattano all'applicazione in fase di sviluppo. Inoltre, è necessario scrivere codice per gestire gli eventi Click per queste 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:
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,
, cosa che puoi fare includendo le seguenti istruzioni nel costruttore del tuo form:
notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon();
contextMenu1 = gcnew System::Windows::Forms::ContextMenu();
Vedere anche
.NET Desktop feedback