VB.NET - 中断表单循环和结束表单

标签 vb.net winforms user-interface

我有一个表单,它会经历无限循环并处理数据。当我单击“关闭”表单的按钮时,即使表单已关闭,表单也会继续处理。我希望表单完全结束并退出其循环语句,然后打开一个新表单。

这是我用来关闭表单的代码

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/

相关文章:

asp.net - VB.Net 应用程序 - 在应用程序启动时向用户显示一条消息

vb.net - 使用 DirectCast、CType、TryCast 转换数据类型

java - GUI JPanel 和 jframe 布局

ios - 以编程方式从 Xib 执行 Segue

asp.net - 在基类中使用 aspx 控件

wpf - 触发时间延迟

c# - C# 中通过引用传递值的语法问题

c# - 解决 .NET 4.0 中 SynchronizationContext.Current 为空的问题

c# - 在 C# win Form 中创建维恩图

objective-c - ios 8 iPhone 6/6+ 中的 UI 元素模糊