希望这是一个简单的问题,
我在一个类中运行一个线程,它只是循环一堆东西。我想在用户关闭表单时停止该线程。我在Form.vb中有以下功能
Public Function getFormStatus() As Boolean
Dim bAlive As Boolean = False
If Me.Enabled = True Then
bAlive = True
Else
bAlive = False
End If
Return bAlive
End Function
然后在我的主循环类中我有
dim isAlive as Boolean = false
isAlive = frm.getFormStatus
while isAlive
do stuff
我的问题是我不知道表单的属性告诉我它是否当前处于活动状态!我觉得这应该不难,但我尝试了几个不同的,没有一个给我预期的结果。
答案 0 :(得分:0)
线程活动,当它没有完成运行已被告知运行的内容时。虽然这可能听起来很愚蠢,但在上面的示例中,您会注意到只要您在while循环中,该线程就是活动。
如果您希望在UI线程的单独线程上执行执行,我建议您查看BackgroundWorker,因为它会使您的方法更清晰,更容易实现。
关于活动表单,可以通过ActiveForm属性实现。
Dim currentForm As Form = Form.ActiveForm