當點擊按鈕時會執行一系列耗時操作,大部分是查詢資料庫并顯示內容
比如 三個grid
點擊按鈕時重繪了a 由于a重繪了 引發了b的重繪 b的重繪引發了c重繪
這三個重繪都是異步進行的 也就是說不阻塞界面 也就是說用戶可以再次點擊按鈕 然后繼續重繪
為了解決多次重繪的問題 我創建了一個表單大小的透明panel置于頂層
我的代碼把創建程序寫成了一個函式 在每次重繪時呼叫
但是會創建三次panel 這不意外 但不是我想要的
理想狀態應該是有一個類似執行緒池一樣的物件管理panel,
每次操作都向執行緒池注冊執行緒
當所有執行緒結束時洗掉panel 但無奈技術很菜 請各位大佬幫忙
uj5u.com熱心網友回復:
每個表單內,panel單例uj5u.com熱心網友回復:
單列解決不了 單例只會造成第一個執行緒結束之后就會洗掉paneluj5u.com熱心網友回復:
你要洗掉做啥啊,你搞個表單,showdialog不好嗎?uj5u.com熱心網友回復:
點擊按鈕時將按鈕禁用不就好了,全部任務執行完畢再恢復轉載請註明出處,本文鏈接:https://www.uj5u.com/net/243733.html
標籤:C#
上一篇:一定時間后跳出當前for回圈
下一篇:為什么if和else會同時執行?
