簡體   English   中英

VB.NET - 中斷表單循環和結束表單

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM