[英]Add controls to GUI in background worker
我有一個帶有頂部和底部面板的表格。
用戶將在頂部面板中進行選擇,並且每次他們在一個鍵字段上更改值時,我都會破壞底部面板中的控件,然后對另一個應用程序進行耗時的調用(通過COM)並添加列表添加了新控件。 此刷新過程需要幾秒鍾。
我希望能夠在刷新時禁用底部面板,並允許用戶繼續在頂部面板中工作。 當然,這就是在一個線程上運行的所有GUI。
圖說:
我玩過BackgroundWorker,但當然不能直接在主線程的GUI上創建控件。
我可以這樣做嗎,即允許用戶界面的一部分被禁用並在后台重建,而用戶繼續在另一部分上工作?
我可以這樣做嗎,即允許用戶界面的一部分被禁用並在后台重建,而用戶繼續在另一部分上工作?
一般來說,沒有。 GUI元素/控件必須全部在UI線程上創建和使用,且無其他地方。
創建此類情況的最佳方法通常是使用BackgroundWorker
或其他技術在后台線程上獲取所需的數據 ,然后在數據完全加載后構建UI。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.