簡體   English   中英

Application.DoEvents在WinForm中

[英]Application.DoEvents In a WinForm

Application.DoEvents()是否可以成為一個可行的解決方案,在主窗口線程上處理密集的表單?

Application.DoEvents()是否可以成為一個可行的解決方案,在主窗口線程上處理密集的表單?

它永遠不會。 您可以禁用UI以防止重新進入,但這將是一個非常用戶不友好的步驟,因為用戶將無法取消操作或關閉應用程序。 這里有一個很好的解釋: “保持你的UI響應和Application.DoEvents的危險”

在這里,您可以找到如何將CPU密集型工作卸載到池線程的示例,其中包括進度更新和取消支持。

有些情況下,您在處理過程中必須保持相同的線程。 例如,您可能正在為編輯器控件編寫一些實時語法突出顯示或拼寫檢查邏輯。

對於這種情況,您可以使用計時器事件,空閑事件和/或async/await來構建邏輯。 相關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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