怎样在线程终止的时候弹出对话框
-
2012年6月12日 11:26
Dim t As thread Private Sub MainSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MainSub.Click t = New Thread(AddressOf Me.RunSub) t.Start() '进程开始 End Sub Sub RunSub() For iCount = 0 to 100 if iCount = 50 then Interrupt.Show() 'Interrupt是个对话框 t.Abort() '进程终止 end if iCount+=1 next t.Abort() End Sub
好像是个很白菜的问题啊..
我想在进程t终止的时候弹出Interrupt对话框,可是随着t进程的终止,弹出的对话框也被关掉了
请问应该怎样避免?谢谢
- 已编辑 vinceh001 2012年6月12日 11:33
全部回复
-
2012年6月13日 2:44版主
您好:)
可以尝试使用线程通知方式通知某个线程已经完成了任务,然后弹出框框退出。
示例代码:
Imports System.Threading Public Class Form1 Dim th As Thread = Nothing '未完成任务状态 Dim flag As New AutoResetEvent(False) Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click th = New Thread(AddressOf MyFunc) th.IsBackground = True th.Start() WaitHandle.WaitAll(New WaitHandle() {flag}) th.Abort() '弹出框框 MsgBox("已经完成") '替换您的任务 End Sub Private Sub MyFunc() For index = 1 To 100 If (index = 50) Then '完成任务 flag.Set() End If Next End Sub End Class- 已标记为答案 Shanks ZenMicrosoft Contingent Staff, Moderator 2012年6月25日 9:56
-
2012年6月14日 2:30
使用ShowDialog()可以阻塞当前线程的运行共同努力,共同提高
kaedei#live.cn My BLOG- 已标记为答案 Shanks ZenMicrosoft Contingent Staff, Moderator 2012年6月25日 9:56


