1. 程式人生 > >【c#】雙快取技術處理重繪閃爍

【c#】雙快取技術處理重繪閃爍

重繪閃爍這個問題困擾我一個禮拜了。今天終於找到了解決辦法。

首先在建構函式中新增以下語句

SetStyle(ControlStyles.ResizeRedraw | ControlStyles.Opaque, true);

在Paint事件函式中或者在OnPaint函式中new 一個Image在利用Graphics .FromImage(Image)得到一個新的Graphics 物件。

使用該物件在Image中繪製好後。在使用PaintEventArgs 中的Graphics的DrawImage(image)函式繪製到控制元件區域上即可。

但是,這種方法,在使用重寫OnPaintBackground時,將ControlStyles.Opaque

設定為true的話,會使OnPaintBackground無效。