Как можно заставить ContextMenuStrip показывать при щелчке левой кнопкой мыши по NotifyIcon? - PullRequest
3 голосов
/ 27 августа 2010

У меня есть ContextMenuStrip, назначенный для NotifyIcon, и это работает при правильном щелчке правой кнопкой мыши.

Как я могу подключить событие щелчка мыши, чтобы сказать NotifyIcon, чтобы показать его ContextMenuStrip?

private void taskbarIcon_MouseClick(object sender, MouseEventArgs e)
{
    switch (e.Button)
    {
        case MouseButtons.Left:
            // What could I use here?
            break;
        default:
            break;
    }
}

1 Ответ

10 голосов
/ 27 августа 2010

Вы должны использовать следующий код:

if (e.Button == MouseButtons.Left)
{
   MethodInfo mi = typeof(NotifyIcon).GetMethod("ShowContextMenu", 
            BindingFlags.Instance |BindingFlags.NonPublic);
    mi.Invoke(taskbarIcon, null);
}

Вот хорошая ветка о теме на сайте MSDN.

...