C# Winform 介面閃屏問題
阿新 • • 發佈:2018-11-28
問題描述
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; } }