Visual Basic VB.Net - GUI暂停复选框

时间:2015-04-13 15:12:26

标签: vb.net visual-studio

我试图创建一个复选框,在单击时暂停当前功能。这是我的代码设置方式 -

Public Function Wait()
    LogOutput("Application paused.")
    Do Until waitBox.Checked = False
        'Task.Delay(1000)
        My.Application.DoEvents()
    Loop
    LogOutput("Application unpaused.")
Return Nothing
End Function

Public Function Thing()
   For Each i In x
      If waitBox.Checked Then
          Wait()
      Else
          DoStuff()
      End If
   Loop
Return Nothing
End Function

正如你所看到的,我已经尝试了#34; Task.Delay"以及" DoEvents(),但问题是GUI在函数运行时被锁定,因此用户根本无法单击暂停。

我怎样才能解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您需要为此创建一个新线程,因此GUI未锁定: https://msdn.microsoft.com/en-us/library/system.threading.thread(v=vs.110).aspx