【发布时间】:2014-09-10 02:50:53
【问题描述】:
我有一个后台线程,例如:
Public Class Main
Private Sub StartBackgroundThread()
Dim threadStart As New Threading.ThreadStart(AddressOf DoStuffThread)
Dim thread As New Threading.Thread(threadStart)
thread.IsBackground = True
thread.Name = "Background DoStuff Thread"
thread.Start()
End Sub
Private Sub DoStuffThread()
Do
Do things here .....
If something happens Then
ExitProgram(message)
End If
Loop
End Sub
Private Sub ExitProgram(ByVal message As String = "")
MessageBox.Show(message)
Application.Exit()
End Sub
End Class
线程不断运行检查一些条件,一旦满足条件,我想调用 ExitProgram 退出整个应用程序。问题是在没有冻结主线程(UI)的情况下弹出消息框,导致用户仍然可以在不允许的 UI 上进行操作。
不知道如何调用ExitProgram方法,因为它是从主线程调用的,这样UI才能在消息框被关闭之前进行操作?
【问题讨论】:
-
这是什么类型的应用程序? Windows 窗体? WPF?
标签: .net vb.net multithreading