1. 程式人生 > >C# Winform 介面閃屏問題

C# Winform 介面閃屏問題

問題描述

        Winform客戶端開發過程中,會遇到介面使用大量控制元件,在使用圖片作為背景和將背景設為透明不透明時,程式開啟時,會出現介面白屏和眼花繚亂的黑白方塊重新整理。


問題存在原因

        個人理解:介面有很多控制元件,由於使用的Winfrom自帶控制元件,在介面加在時,最先載入控制元件預設背景,載入完成之後再進行我們設定樣式(背景圖或者其他顏色)繪製,由於期間控制元件太多,處理時耗時嚴重,從而導致介面卡白閃屏現象。(2018.04.27 9:00AM)


解決方案

       在From窗體上重寫CreateParams這個引數的獲取值,具體程式碼如下:

        /// <summary>
        ///  防止閃屏 
        /// </summary> 
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x02000000;
                return cp;
            }
        }  
     加入這段程式碼之後,問題完美解決了。