C#控件閃爍的解決方法
本文實例講述了C#控件閃爍的解決方法。分享給大家供大家參考。具體分析如下:
如果你在Form中繪圖的話,不論是不是采用的雙緩存,都會看到圖片在更新的時候都會不斷地閃爍,解決方法就是在這個窗體的構造函數中增加以下三行代碼:
請在構造函數里面底下加上如下幾行:
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 雙緩沖
參數說明:
UserPaint
如果為 true,控件將自行繪制,而不是通過操作系統(tǒng)來繪制。此樣式僅適用于派生自 Control 的類。
AllPaintingInWmPaint
如果為 true,控件將忽略 WM_ERASEBKGND 窗口消息以減少閃爍。僅當 UserPaint 位設置為 true 時,才應當應用該樣式。
DoubleBuffer
如果為 true,則繪制在緩沖區(qū)中進行,完成后將結果輸出到屏幕上。雙重緩沖區(qū)可防止由控件重繪引起的閃爍。要完全啟用雙重緩沖,還必須將 UserPaint 和 AllPaintingInWmPaint 樣式位設置為 true。
希望本文所述對大家的C#程序設計有所幫助。