我在一个名为“sys”的类中有一个名为 notify 的子。我使用这个子作为通知表来代替通知图标/气球提示。
所以它看起来像这样......
sys.notify("message")
我的问题是我需要能够显示通知并在不久之后关闭表单。我现在的方式是在通知仍处于活动状态时关闭表单,并且通知被切断。
即使在调用它的表单关闭后,有什么方法可以让它继续运行,还是我必须等到通知完成才能关闭表单?
关键是启动一个不是背景的线程。这样您的表单将被关闭,但该进程将继续运行,直到该非后台线程完成,从而使您的气球提示可见。
到要显示 baloontip 的位置(子或函数)放置:
Dim x As New Threading.Thread(AddressOf somesub)
x.IsBackground = False
x.Start()
并将其放在某处:
Private Sub somesub()
sys.notify("message")
End Sub
有可能。
1)通知部分:将其编码在不同的线程中,因此即使关闭主窗体也不会关闭。
2)更简单的方法:在主窗体关闭事件中,检查通知部分是否显示或主窗体不可见,如果没有,则关闭窗体。如果是,隐藏表单(不可见),并中止关闭事件。在 notify 部分,在关闭 notify 时,检查主窗体是否不可见,如果是,则关闭它,然后关闭 notify。
2)中的关键是使主窗体不可见而不是关闭。