c# 控制項閃爍處理方法

來源:互聯網
上載者:User
如果你在Form中繪圖的話,不論是不是採用的雙緩衝,都會看到圖片在更新的時候都會不斷地閃爍,解決方案就是在這個表單的建構函式中增加以下三行代碼:

請在建構函式裡面底下加上如下幾行:
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 雙緩衝

參數說明:

UserPaint
如果為 true,控制項將自行繪製,而不是通過作業系統來繪製。此樣式僅適用於派生自 Control 的類。

AllPaintingInWmPaint
如果為 true,控制項將忽略 WM_ERASEBKGND 視窗訊息以減少閃爍。僅當 UserPaint 位設定為 true 時,才應當應用該樣式。

DoubleBuffer
如果為 true,則繪製在緩衝區中進行,完成後將結果輸出到螢幕上。雙重緩衝區可防止由控制項重繪引起的閃爍。要完全啟用雙重緩衝,還必須將 UserPaint 和 AllPaintingInWmPaint 樣式位設定為 true。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.