2011-07-26 50 views
1

我目前正在編寫一個需要NotifyIcon的多表單項目。第一種形式是登錄表單,然後打開一個「登錄」表單,最後打開另一個表單(它們全部使用FormName.ShowDialog()打開,並在打開下一個表單前隱藏自己)。NotifyIcon在Me.Hide上消失了嗎?

登錄表單 - >登錄表單 - >最終表單。

打開最終表單時,NotifyIcon的visible屬性設置爲true,並且它會像正常一樣出現在任務欄中。但是當我在最終的表單上使用Me.Hide時,NotifyIcon將隨着表單消失。

有關發生了什麼的任何想法?該程序仍然在後臺運行,儘管沒有形式可見(這是它的目的是如何),但沒有NotifyIcon,沒有辦法讓表單再次出現。

編輯 - 如果有幫助,登錄表單將在另一個線程中打開,但使用委託。

+0

你在哪裏創建了通知圖標。它是在最後的形式? –

+0

是的。我也嘗試將其添加到第一種形式,但仍然存在相同的行爲。 – Tommy

回答

1

我找到了解決問題的另一種方法。我沒有使用Me.Hide,而是使用:Me.Opacity = 0,它不會導致NotifyIcon消失(並且在NotifyIcon上,它會在單擊時將Me.Opacity設置爲100)。

感謝您試圖幫助球員。

+0

你可以在主窗體上添加NotifyIcon並顯示/隱藏它一些事件,設置不透明度可能是性能問題。 – CodingBarfield

0

您應該在主窗體上設置「初始化」通知圖標「在所有窗體對話框完成後將始終顯示的窗體」。如果問題仍然存在,「它不應該!」然後嘗試使用Me.VisibleChanged事件,以便每當表單可見性更改爲可見時,隱式調用notificationIcon.Visible = true,btw是否將通知圖標在別處設置爲可見?

+0

剛剛嘗試過,它仍然消失。 :( – Tommy

+0

整個解決方案中沒有任何東西將NotifyIcon的可見屬性設置爲False(除了設計器中的默認False值) – Tommy

+0

這是一個非常奇怪的行爲。無論如何,我很抱歉,所有關於我的... –

0

您可以在Form_Shown事件中隱藏窗體。

Private Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown 
    Me.Hide 
End Sub 
相關問題