Как сделать так, чтобы элементы панели инструментов не появлялись на панели задач? - PullRequest
2 голосов
/ 06 марта 2012

У меня есть программа, которая работает в основном через NotifyIcon в правом нижнем углу экрана Windows (XP). Всякий раз, когда я открываю ContextMenuStrip, который появляется при щелчке правой кнопкой мыши по значку, на панели задач также появляется поле. У меня также есть вложенные меню внутри меню (при наведении указателя мыши на один элемент появляется другое меню), и каждое дополнительное меню также создает поле панели задач после появления. Поэтому, когда я окажусь в третьем или четвертом вложенном меню, на панели задач появятся 3 или 4 окна. После того, как меню исчезнет, ​​то же самое можно сделать и с окнами на панели задач.

Как я могу остановить отображение на панели задач полей, представляющих эти меню? Насколько я знаю, я ничего не сделал в своем коде, чтобы создать такой тип поведения. Я искал похожие проблемы, но ничего подобного не нашел. Насколько я вижу, для этих элементов нет свойства "showintaskbar", и нет другого свойства, которое я мог бы найти, которое могло бы повлиять на это. Я исследовал владельца contextmenustrip, так как я читал, что владелец может влиять на эти типы поведения, но это не кажется полезным, поскольку нет свойства owner для contextmenustrip.

Я не знаю, что еще искать, поэтому я надеюсь, что кто-нибудь подскажет, что еще может повлиять на этот тип поведения.

Любая помощь очень ценится. Спасибо!

1 Ответ

3 голосов
/ 10 марта 2012

Если вы используете метод ContextMenuStrip.Show(), он будет отображаться на панели задач, как вы описали.Попробуйте вместо этого назначить ваше меню свойству NotifyIcon.ContextMenuStrip.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...