Un seul clic pour ouvrir le menu de l'icône de la barre d'état en C #
-
08-07-2019 - |
Question
Comment forcer l'affichage d'un menu contextuel sur une icône de la barre d'état système lorsque l'on clique dessus plutôt que de cliquer avec le bouton droit de la souris?
J'ai essayé d'utiliser l'événement MouseClick, mais les événements ont la position de la souris à x0y0.
La solution
Cela devrait le faire pour vous:
private void notifyIcon1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);
}
Autres conseils
Une autre méthode que j'ai trouvée fonctionne un peu mieux:
private void notifyIcon1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
System.Reflection.MethodInfo mi = typeof(NotifyIcon).GetMethod("ShowContextMenu", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
mi.Invoke(notifyIcon1, null);
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow