Ein-Klick-Menü für Tray-Icon in C # öffnen
-
08-07-2019 - |
Frage
Wie erzwinge ich ein Kontextmenü für ein Tray-Icon angezeigt wird, wenn es nicht ist, klicken Sie auf als nur rechts geklickt hat.
Ich habe versucht das Mouseclick-Ereignis verwenden, aber die EventArgs haben die Mausposition bei x0y0.
Lösung
Dies sollte es für Sie tun:
private void notifyIcon1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);
}
Andere Tipps
Eine alternative Methode, die ich gefunden habe, ein bisschen besser arbeiten:
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);
}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow