winform 界面加載慢原因分析


公司新來的開發人員,對winform開發還不是特別精通,在做個性化界面體驗的時候容易出現閃爍和加載慢

閃爍的話,通過winform窗體的雙緩存來解決在form 窗體中增加如下代碼

protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x02000000;//用雙緩沖繪制窗口的所有子控件
                return cp;
            }
        }

加載慢的問題,一般很容易使在加載數據的邏輯和頁面初始化的時候混在一起了,嚴重影響界面的顯示。所以一定要將加載

數據的邏輯剝離開來,通過Task 去異步執行,在使用Task 的時候有注意點,任務執行成功了要更改界面元素,所以Task的

上下文要保證是當前UI主線程的代碼如下:

var UISyncContext = TaskScheduler.FromCurrentSynchronizationContext();
            task.ContinueWith(act, UISyncContext);

希望能對新手有幫助


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM