2012-03-06 1 views
2

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

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

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

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

ответ

3

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

+0

Я попытался использовать 'MyNotifyIcon.ContextMenuStrip = MyContextMenustrip' вместо того, где я ранее имел' MyNotifyIcon.show() '(который находится в методе, который обрабатывает MyNotifyIcon.MouseClick), однако теперь ничего не происходит, когда обычно меню в противном случае. Вы имели в виду, что я делал что-то другое? – user1167662

+0

Извините, я должен был быть более конкретным. Попробуйте назначить 'ContextMenuStrip' либо в конструкторе формы (после' InitializeComponent() '), либо в событии загрузки формы. – endofzero

+0

, назначив, что в событии загрузки вместо использования события mouseclick исправлена ​​проблема! Спасибо! – user1167662

 Смежные вопросы

  • Нет связанных вопросов^_^