代码如下:
Private frmTip As New frmProgress
'打开提示窗口
Dim th As Thread
th = New Thread(New ThreadStart(AddressOf invokeShow))
th.IsBackground = True
th.Start()
。。。处理。。。
th.Abort()
Private Sub invokeShow()
Me.Invoke(New System.EventHandler(AddressOf showForm), New Object() {frmTip, Nothing})
End Sub
Public Sub showForm(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim frmTip As frmProgress = sender
frmTip.ShowDialog()
End Sub
------解决方案--------------------
http://bbs.csdn.net/topics/390050507
基本上要少用abort 关闭线程。
Abort()方法本来就会引发TreadAbortException异常。一般的做法是,不用Abort()来终止线程。而是在线程内终止操作来使线程中止。
------解决方案--------------------
不需要th.Abort(),等线程自然执行完就会关闭的。