Domanda

Come posso forzare la visualizzazione di un'icona nella barra delle applicazioni quando viene cliccata invece che con il tasto destro del mouse.

Ho provato a usare l'evento MouseClick, ma gli eventarg hanno la posizione del mouse su x0y0.

È stato utile?

Soluzione

Questo dovrebbe farlo per te:

private void notifyIcon1_Click(object sender, EventArgs e)
        {
            contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);
        }

Altri suggerimenti

Un metodo alternativo che ho trovato per funzionare un po 'meglio:

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);
        }
    }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top