我有一个非常令人不安的问题;当我单击红十字关闭我的应用程序时,这里有一个例外:
Sub NewThread()
AddHandler RenderFrameEvent, AddressOf RenderFrame
Dim lastplay As Boolean = True
Do
If lastplay = Not Play Then
System.Threading.Thread.Sleep(100)
lastplay = Play
Else
If Play = True Then
KeyState()
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf NewThread))
Else
RaiseEvent RenderFrameEvent()
End If
End If
End If
Application.DoEvents()
Loop
End Sub
我得到一个 System.InvalidOperation 异常
Me.Invoke(New MethodInvoker(AddressOf NewThread))
因为表单是关闭的,这是很正常的,然后,我在 FormClosing 事件中这样做:
Trd.Abort '(the thread is named Trd)
我得到一个 Threading.ThreadAbort 异常。
谁能告诉我如何正确停止线程,或如何强制应用程序自杀?