Clique único para abrir o menu de ícone da bandeja em C #
-
08-07-2019 - |
Pergunta
Como faço para forçar um menu de contexto para um ícone na bandeja para ser mostrado quando é clicar em vez de apenas clicar com o botão direito.
Ive tentei usar o evento MouseClick, mas as EventArgs tem a posição do mouse em x0y0.
Solução
Isso deve fazê-lo para você:
private void notifyIcon1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(Cursor.Position.X, Cursor.Position.Y);
}
Outras dicas
Um método alternativo que eu encontrei para trabalhar um pouco melhor:
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);
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow