VB.NET – 中断窗体循环和结束窗体
我有一个通过无限循环和处理数据的表单。 当我点击一个“closures”窗体的button时,窗体即使closures,也会继续处理。 我希望表单完全结束并退出循环语句,然后打开一个新表单。
这里是我用来closures表单的代码
frmMain.Close() frmMain.Dispose()
注意:我不使用线程,它只是一个简单的VB.NET应用程序。 我没有closures主要的启动forms。
这样做的“正确”方式是真正的后台工作线程。 但是,这也将工作,而不需要后台工作线程。
在窗体类中声明一个variables。
Private keepLoopAlive As Boolean
然后写你的处理循环是这样的:
keepLoopAlive = True Do While keepLoopAlive (your code that loops here) DoEvents Loop
然后在你的closures事件做:
keepLoopAlive = False Me.Close()
这将导致循环结束第一次机会,你的表单应该closures。
请注意,我已经从内存中编写了这些代码,而不是在IDE中,所以可能会出现拼写错误。
我不是一个.NET开发人员,所以这可能是无效的,但如果我正在执行一个无限循环,我会检查每次我开始循环仍然有效的布尔值的某种布尔值,如果失败,跳出循环。
当closures表单时,将布尔值设置为false,它将会丢失,并且可以有一个等待并重新启动循环的外部循环,或者可以重新启动整个函数。