Мне нужно показать контекстное меню для моего контекстного меню значка уведомления как для левого, так и для правого щелчка после выполнения некоторых действий, а не сразу после щелчка.
Он отлично работает для щелчка левой кнопкой мыши как:
sysTrayIcon.MouseClick += OnSysTrayClicked;
private static void OnSysTrayClicked(Object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
PerformActions();
MethodInfo oMethodInfo = typeof(NotifyIcon).GetMethod("ShowContextMenu", BindingFlags.Instance | BindingFlags.NonPublic);
oMethodInfo.Invoke(sysTrayIcon, null);
}
}
Но щелчок правой кнопкой мыши по-прежнему обрабатывается автоматически, и соответствующий ContextMenuStrip
отображается при щелчке правой кнопкой мыши. Есть ли способ переопределить это с помощью моего обработчика событий?