我在名为“sys”的类中有一个名为notify的子。我使用此子作为通知表格作为notifyicon / balloontip的替代。
所以它看起来像这样...
sys.notify("message")
我的问题是我需要能够显示通知并在不久之后关闭表单。我现在的方式是,当通知仍处于活动状态时表单关闭,通知被切断。
即使在调用它的表单关闭后,还是有任何方法可以保持它,或者我必须等到通知完成才能关闭表单吗?
答案 0 :(得分:0)
有可能。
1)通知部分:将其编码在不同的线程中,因此即使主表单关闭也不会关闭。
2)更简单的方法:在主窗体关闭事件中,检查是否显示通知部分或主窗体是否不可见,如果不是,则关闭窗体。如果是,则隐藏表单(不可见),并中止结束事件。在通知部分,当关闭通知本身时,检查主表单是否不可见,如果是,则关闭它,然后关闭通知。
2)中的关键是使主要形式隐身而不是关闭。
答案 1 :(得分:0)
关键是启动一个不是后台的线程。因此,您的表单将被关闭,但该过程将继续运行,直到完成非后台线程,从而保持您的ballontip可见。
到要显示baloontip的地方(子或功能)放这个:
Dim x As New Threading.Thread(AddressOf somesub)
x.IsBackground = False
x.Start()
把它放在某个地方:
Private Sub somesub()
sys.notify("message")
End Sub