Guide pratique pour associer un menu contextuel à un composant NotifyIcon Windows Forms
Note
Bien que MenuStrip et ContextMenuStrip remplacent et ajoutent des fonctionnalités aux contrôles MainMenu et ContextMenu des versions précédentes, MainMenu et ContextMenu sont conservés pour la compatibilité descendante et l’utilisation ultérieure si vous le souhaitez.
Le composant NotifyIcon affiche une icône dans la zone de notification d’état de la barre des tâches. En règle générale, les applications vous permettent de cliquer avec le bouton droit sur cette icône pour envoyer des commandes à l’application qu’elle représente. En associant un composant ContextMenu au composant NotifyIcon, vous pouvez ajouter cette fonctionnalité à vos applications.
Note
Si vous souhaitez que votre application soit réduite au démarrage tout en affichant une instance du composant NotifyIcon dans la barre des tâches, définissez la propriété WindowState du formulaire principal sur Minimized et assurez-vous que la propriété Visible du composant NotifyIcon est définie sur true
.
Pour associer un menu contextuel au composant NotifyIcon au moment du design
Ajoutez un composant NotifyIcon à votre formulaire et définissez les propriétés importantes, telles que les propriétés Icon et Visible.
Pour plus d’informations, consultez Guide pratique pour ajouter des icônes d’application à la barre des tâches avec le composant NotifyIcon Windows Forms.
Ajoutez un composant ContextMenu à votre Windows Form.
Ajoutez des éléments de menu au menu contextuel représentant les commandes que vous souhaitez rendre disponibles au moment de l’exécution. C’est également un bon moment pour ajouter des améliorations de menu à ces éléments de menu, tels que les touches d’accès.
Définissez la propriété ContextMenu du composant NotifyIcon sur le menu contextuel que vous avez ajouté.
Avec ce jeu de propriétés, le menu contextuel s’affiche lorsque l’icône de la barre des tâches est cliquée.
Pour associer un menu contextuel au composant NotifyIcon par programmation
Créez une instance de la classe NotifyIcon et d’une classe ContextMenu, avec les paramètres de propriété nécessaires pour l’application (Icon et les propriétés Visible pour le composant NotifyIcon, les éléments de menu du composant ContextMenu).
Définissez la propriété ContextMenu du composant NotifyIcon sur le menu contextuel que vous avez ajouté.
Avec ce jeu de propriétés, le menu contextuel s’affiche lorsque l’icône de la barre des tâches est cliquée.
Note
L’exemple de code suivant crée une structure de menu de base. Vous devez personnaliser les choix de menu pour ceux qui correspondent à l’application que vous développez. En outre, vous souhaiterez écrire du code pour gérer les événements Click pour ces éléments de 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;
}
Note
Vous devez initialiser notifyIcon1
et contextMenu1,
que vous pouvez effectuer en incluant les instructions suivantes dans le constructeur de votre formulaire :
notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon();
contextMenu1 = gcnew System::Windows::Forms::ContextMenu();
Voir aussi
.NET Desktop feedback