gpt4 book ai didi

vb.net - 提前取消 While 循环

转载 作者:行者123 更新时间:2023-12-04 07:04:46 26 4
gpt4 key购买 nike

我正在使用一个 While 循环,它根据用户输入的值循环一定数量的周期 (1-576)。它是由用户单击“开始”按钮激活的,但我希望能够使用“Escape”键取消它。

但是,当循环开始时,我无法让程序识别任何按键。

Private Sub OnGlobalKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles kh.KeyDown

lblInput.Text = String.Format("'{0}' Code:{1}", e.KeyCode, CInt(e.KeyCode).ToString())


If e.KeyCode = CType(27, Keys) Then
count = 0
loops = 0
End If
End Sub

我的循环
Private Sub RUNLOOP()
While loops >= 1
' my code that runs in the loop
loop = loop - 1
End While
End Sub

当循环运行时,我的按键不会注册,否则它们注册得很好。

最佳答案

你有没有想过用 BackgroundWorker 在后台线程中执行 while 循环代码,making sure your GUI keeps responsive (=调整/重绘表单并让用户“达到”您实现取消正在运行的工作的方式)而不需要Application.DoEvents在循环内部“伪造”这种行为?
如果您已经使用 .NET Framework 4.0,您可以尝试使用 parallel programming而不是 BackgroundWorker .

关于vb.net - 提前取消 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1286753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com