我有一个表单,它会经历无限循环并处理数据。当我单击“关闭”表单的按钮时,即使表单已关闭,表单也会继续处理。我希望表单完全结束并退出其循环语句,然后打开一个新表单。
这是我用来关闭表单的代码
frmMain.Close()
frmMain.Dispose()
注意:我没有使用线程,它只是一个简单的 VB.NET应用。我不会关闭主启动表单。
最佳答案
执行此操作的“正确”方法实际上是使用后台工作线程。但这也可以在不需要后台工作线程的情况下工作。
在表单类中声明一个变量。
Private keepLoopAlive As Boolean
然后将处理循环编写为:
keepLoopAlive = True
Do While keepLoopAlive
(your code that loops here)
DoEvents
Loop
然后在关闭事件中执行以下操作:
keepLoopAlive = False
Me.Close()
这将导致循环一有机会就结束,并且您的表单应该关闭。
请注意,此代码是我凭内存编写的,而不是在 IDE 中编写的,因此可能存在拼写错误。
关于VB.NET - 中断表单循环和结束表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772893/