Я хочу, чтобы он был таким, чтобы щелчок левой кнопкой мыши на NotifyIcon также вызывал контекстное меню (установленное с помощью свойства ContextMenuStrip). Как я могу это достичь? Должен ли я обрабатывать Click и самостоятельно определять расположение?
Edit: показывать меню с результатами trayIcon.ContextMenuStrip.Show() является несколько нежелательным поведением:Invoke NotifyIcon Контекстное меню
меню не отображается на то же место, если правая кнопка мыши на NotifyIcon (кажется, что вы не можете установить координаты x и y, где находится панель задач, по крайней мере, на Windows 7, которая является тем, что я запускаю). Он появится над панелью задач (не такая большая сделка, но последовательность будет приятной).
Пока отображается меню, на панели задач добавлен дополнительный значок.
Щелчок где-то, кроме меню, не закрывает его (тогда как если вы щелкните правой кнопкой мыши, чтобы открыть контекстное меню, щелкнув еще раз, где автоматически закрывается контекстное меню).
Возможно ли вообще просто вызвать меню, но встроенный обработчик правого клика делает это?
@msorens - не поздно редактировать :) Есть еще несколько уловок, чтобы решить обходной путь ApplicationContext. Найдите ответы на SetVisibleCore. –
Это решение не использует возможность назначить свойство 'NotifyIcon'' menu' объекту ContextMenuStrip; и поэтому он делает чрезмерно уродливый взлом, чтобы решить проблему, которая не должна возникать в первую очередь. Дополнительную информацию см. На странице http://stackoverflow.com/questions/132612/show-a-contextmenustrip-without-it-showing-in-the-taskbar. –
Это полная чепуха. –