2012-03-06 47 views
2

我有一個程序,主要是通過我的Windows屏幕(XP)右下角的NotifyIcon來運行。每當我打開右鍵單擊圖標時出現的ContextMenuStrip,任務欄中也會出現一個框。我還在菜單中嵌套了菜單(將鼠標懸停在一個項目上會導致另一個菜單),並且每個附加菜單在出現時都會創建一個任務欄框。所以一旦我在第三或第四個嵌套菜單中,任務欄中就會出現3或4個窗口。菜單消失後,任務欄中的窗口也會消失。如何阻止我的工具條菜單項出現在任務欄中?

如何停止顯示框來表示這些菜單的任務欄?據我所知,我在代碼中沒有做任何事情來創建這種類型的行爲。我已經尋找類似的問題,但沒有發現類似的東西。就我所見,這些項目沒有「showintaskbar」屬性,並且沒有其他屬性可以找到會影響此項目的屬性。我已經調查了contextmenustrip的所有者,因爲我讀取所有者可能會影響這些類型的行爲,但這似乎沒有幫助,因爲沒有contextmenustrip的所有者屬性。

我不知道還有什麼要搜索的,所以我在這裏希望有人能夠給我一個線索,看看還有什麼可能會影響這種行爲。

任何幫助是極大的讚賞。謝謝!

回答

3

如果您使用的是ContextMenuStrip.Show()方法,它將顯示在您描述的任務欄中。嘗試將菜單分配給NotifyIcon.ContextMenuStrip屬性。

+0

我嘗試使用'MyNotifyIcon.ContextMenuStrip = MyContextMenustrip'來代替我以前擁有'MyNotifyIcon.show()的位置(它在處理MyNotifyIcon.MouseClick的方法中),但是現在沒有任何反應,當菜單通常會有否則顯示。你的意思是讓我做不同的事情嗎? – user1167662 2012-03-12 16:15:32

+0

對不起,我應該更具體。嘗試在窗體構造函數中(在InitializeComponent()之後)或在窗體的加載事件中分配ContextMenuStrip。 – endofzero 2012-03-12 21:52:32

+0

在加載事件中賦值,而不是使用mouseclick事件修復了問題!謝謝! – user1167662 2012-03-13 15:53:00

相關問題