場景:複製C#中的整個DevExpress.XtraTreeList.TreeList#
我正在使用數據庫創建並填充一個Treelist。
這是一個相當耗時的任務,又不想掛GUI(也沒有任何「進度條」等)。
因此,我決定將所有這些移動到Backgroundworker,但由於我無法從另一個線程更新樹,那麼創建它的人將在後臺線程中創建一個臨時樹,並且完成後,整個內容到GUI顯示的樹。
- 什麼是遍歷和複製所有節點,節點數據等的最佳方式是什麼?
- 難道還有其他(更好?)的方式來做到這一點,即構建/創建一個BackgroundWorker一棵樹,並顯示在圖形用戶界面呢?
編輯:我知道在後臺線程中填充一個GUI組件的'黑客',但是因爲我剛剛被拋入這個項目並被要求「停止gui經常掛起」非常有限的時間框架,重寫加載和創建數據並不是真正的選擇(儘管這將是最佳實踐)。 我剛換了「CreateTree」 - 函數在一個新的線程中運行,通過新創建的樹「ThreadComplete」並複製。
乾杯