[英]VB.NET - Interrupt form loop and end form
我有一個經歷無限循環並處理數據的表單。 當我單擊“關閉”表單的按鈕時,表單即使關閉也會繼續處理。 我希望表單完全結束並退出其循環語句,然后打開一個新表單。
這是我用來關閉表單的代碼
frmMain.Close()
frmMain.Dispose()
注意:我沒有使用線程,它只是一個簡單的VB.NET應用程序。 我沒有關閉主要的啟動表格。
執行此操作的“正確”方法實際上是后台工作線程。 但是這也可以在不需要后台工作線程的情況下工作。
在表單類中聲明一個變量。
Private keepLoopAlive As Boolean
然后編寫您的處理循環,如下所示:
keepLoopAlive = True
Do While keepLoopAlive
(your code that loops here)
DoEvents
Loop
然后在你的Close事件上做:
keepLoopAlive = False
Me.Close()
這將導致循環首先獲得結束,並且表單應該關閉。
請注意我已經從內存中編寫了這段代碼,而不是在IDE中編寫代碼,因此可能存在拼寫錯誤。
我不是.NET開發人員所以這可能不是有效的,但如果我執行無限循環,我會在每次啟動時檢查循環是否仍然有效,具有某種布爾值,如果失敗,則刪除跳出循環。
當您關閉表單時,將布爾值設置為false並且它將丟失,您可以使用等待並重新啟動循環的外部循環,也可以在其他時間重新啟動整個函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.