2012-12-06 58 views
0

我在名爲「sys」的類中有一個名爲notify的子項。我使用這個sub作爲notifyicon/balloontip的替代通知表單。關閉窗體後保持子運行

因此,它看起來像這樣...

sys.notify("message") 

我的問題是,我需要能夠顯示通知和關閉後不久,有形式。我現在擁有的方式是,表單在通知仍處於活動狀態時關閉,並且通知被切斷。

即使在調用它的表單關閉之後,是否有任何方法可以繼續執行它,還是必須等到通知完成後才能關閉表單?

+1

哪個UI框架? WinForm,WPF,ASP等... –

+0

你能否提供更多的細節? 'sys'是否從'Form'繼承?你能展示一些更多的代碼,並提供一些你想要做什麼的更多細節?你能顯示「通知」的代碼嗎? –

+0

這是winform。 Sys只是一個充滿不屬於其他任何地方的潛艇的類。只是爲了組織。沒有技術。通知是基於此... http://www.vbforums.com/showthread.php?351757-Animated-Window-Effects-with-quot-Toast-quot-popup-demo&p=4154751&viewfull=1#post4154751 – Justin

回答

0

有可能性。

1)通知部分:代碼在不同的線程中,所以即使主窗體關閉也不會關閉。

2)更簡單的方法:在主窗體關閉事件中,檢查是否顯示通知部分或主窗體是否不可見,如果否,則關閉窗體。如果是,隱藏表單(不可見),並放棄關閉事件。在通知部分,當關閉通知自己時,檢查主窗體是否不可見,如果是,關閉它,然後關閉通知。

2)中的關鍵是使主要形式不可見,而不是關閉。

0

關鍵是啓動一個不是背景的線程。這樣你的表單將被關閉,但是這個過程將繼續運行,直到完成非後臺線程,從而保持你的ballontip可見。

爲了要顯示baloontip把這個地方(子或功能):

Dim x As New Threading.Thread(AddressOf somesub) 
x.IsBackground = False 
x.Start() 

,並把這個地方:

Private Sub somesub() 
     sys.notify("message") 
End Sub 
相關問題