Comment puis-je forcer un menu contextuel pour une icône de barre d'état à s'afficher lorsqu'il s'agit d'un clic plutôt qu'un simple clic droit. J'ai essayé d'utiliser l'événement MouseClick, mais les variables d'événement ont la position de la souris à x0y0.Un seul clic pour ouvrir le menu de l'icône de la barre d'état en C#
7
A
Répondre
12
Cela devrait le faire pour vous:
private void notifyIcon1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);
}
8
Une autre méthode que j'ai trouvé pour travailler 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);
}
}
De plus, si vous avez besoin de déplacer le contenu autour de vous pouvez toujours faire X +/- 10 ou quelque chose – CodeLikeBeaker