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