我有非常通用的問題。我試過谷歌,但找不到任何好的。如何在winform中加載子窗口時保持UI解鎖
所以問題是:我有winform應用程序,其中基於從菜單欄中選擇的選項,加載子窗體/視圖,這些子窗體用於顯示報表。
爲了生成報表,這些子表單包含日期,名稱等報表選擇標準,這些值來自DB。基於數據庫中可用的值,我們在視圖中添加控件。
當屏幕花費大量時間加載時,問題就出現了,它會在加載期間凍結UI /應用程序,我不想要。
我也試過運行任務異步,但因爲它在處理過程中使用視圖,所以此選項失敗。
ThreadPool.QueueUserWorkItem(delegate { method.Invoke(presenter, results); });
演示者是我的viewpresenter,結果是調用它的參數。應用程序在運行時結束演示者名稱並使用methodinfo.invoke()調用其默認方法。
是否有任何其他方式來實現相同。
要點:我無法重新設計整個應用程序以從UI邏輯中分離出完整的數據庫邏輯,因爲它是傳統應用程序,這可能會破壞應用程序。
......以及「你試過的是什麼」? – niksofteng
從您提供給我們的有限信息幾乎可以做的不僅僅是建議從UI邏輯中分離數據庫邏輯,但您已經說過我們不能這樣做。所以,除非你能給我們更多的細節,否則我認爲你被卡住了。 – Enigmativity
您需要顯示與問題相關的所有代碼。你還沒有給我們任何東西繼續。 – Enigmativity